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