我正在使用Directory.GetFiles从特定文件夹中获取文件.默认情况下,该文件夹中的文件将按文件名排序.按字母顺序排列.我想按文件修改顺序获取文件.
我不能使用Directory.GetInfo,因为我想获取包含特定关键字的文件.请让我知道如何根据修改日期对文件进行排序.我使用以下代码
string[] arr1 = Directory.GetFiles("D:/TestFolder", "*"Test12"*");
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
Mas*_*uso 12
下面怎么样
DirectoryInfo di = new DirectoryInfo("D:\\TestFolder");
FileSystemInfo[] files = di.GetFileSystemInfos();
var orderedFiles = files.Where(f=>f.Name.StartsWith("Test12"))
.OrderBy(f => f.CreationTime)
.ToList();
Run Code Online (Sandbox Code Playgroud)
您可以f.Name.StartWith根据需要替换任何字符串函数(.Contains等)
您可以替换f => f.CreationTime使用 f.LastWriteTime,以获得修改的时间,但记住,开始在Windows Vista中,最后访问时间默认情况下不更新.这是为了提高文件系统性能
如果您更改为目录信息,则可以执行此操作
FileInfo[] files = new DirectoryInfo("path")
.GetFiles("filter")
.OrderBy(f => f.CreationTime)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
编辑:
看到你想要修改日期,可以用f.LastWriteTime来做
| 归档时间: |
|
| 查看次数: |
17144 次 |
| 最近记录: |