sorting - Directory.GetFiles 按日期排序

标签 sorting date

我正在使用 Directory.GetFiles 从特定文件夹中获取文件。 默认情况下,该文件夹中的文件将按文件名排序,即。按文件名的字母顺序排列。我想按照文件修改的顺序获取文件。

我无法使用 Directory.GetInfo,因为我想获取包含特定关键字的文件。 请告诉我如何让文件按修改日期排序。 我正在使用以下代码

string[] arr1 = Directory.GetFiles("D:/TestFolder", "*"Test12"*");

任何帮助将不胜感激。

最佳答案

下面呢

DirectoryInfo di = new DirectoryInfo("D:\\TestFolder");
FileSystemInfo[] files = di.GetFileSystemInfos();
var orderedFiles = files.Where(f=>f.Name.StartsWith("Test12"))
                        .OrderBy(f => f.CreationTime)
                        .ToList();

您可以根据需要将 f.Name.StartWith 替换为任何字符串函数(.Contains 等)

您可以将 f => f.CreationTime 替换为 f.LastWriteTime 来获取修改时间,但请记住,从 Windows Vista 开始,上次访问时间默认情况下不更新时间。这是为了提高文件系统性能

关于sorting - Directory.GetFiles 按日期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906360/

相关文章:

java - API 21 中组合多种排序的最佳方式

jquery - 使用两行标题进行表格排序

javascript - Google Charts ColumnChart 日期格式不显示分钟和小时

python - 使用 Pandas 将字符串格式化为日期时间 - 指令有问题

mysql - 使用 SQL 计算差异

JavaScript 错误的时间戳格式

python - 如何在 Python 中获取已排序数组的索引

python - Python 中的冒泡排序排序不正确

javascript - jQuery 似乎对元素进行随机排序

sql - 使用 'yyyymmdd' 格式将 Varchar 转换为 Datetime