我正在使用 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/