我有一个名为IncomingFiles
的文件夹名称。在那个文件夹里面我有多个文件。 Thouse文件只有.xml。
以下是具有不同TimeStamp的IncomingFiles
文件夹下的文件列表:
E.g:
+-------------------+---------------------+---------------+
|Name | Date Modifided | Type |
+-------------------+---------------------+---------------+
| test4.xml | 23/6/2016 12:30 PM | XML Document |
| test3.xml | 23/6/2016 12:20 PM | XML Document |
| test2.xml | 23/6/2016 12:10 PM | XML Document |
| test1.xml | 23/6/2016 12:00 PM | XML Document |
+-------------------+---------------------+---------------+
我必须根据较旧的时间获取文件。
E.g:
First i have to fetch below file:
test1.xml
Second I have to fetch below file:
test2.xml
Third I have to fetch below file:
test3.xml
Fourth I have to fetch below file:
test4.xml
如何做到这一点。请你帮我解决。
答案 0 :(得分:3)
使用按LastWriteTime
排序的linq,仅使用.xml
个文件:
DirectoryInfo dirInfo = new DirectoryInfo("IncomingFiles");
List<FileInfo> files = dirInfo.GetFiles()
.Where(f => f.Extension == ".xml")
.OrderBy(f => f.LastWriteTime)
.ToList();
答案 1 :(得分:2)
使用linq
var dirInfo = new DirectoryInfo("yourpath");
var files = dirInfo.GetFiles().OrderBy(f => f.CreationTime);
答案 2 :(得分:1)
您可以使用Directory.GetFiles
列出指定目录中的文件路径。这允许您指定SearchPatterns
和SearchOption
。然后,您必须使用LINQ扩展方法.OrderBy
对其LastWriteTime
的基础进行排序。
var sortedFiles = Directory.GetFiles("path_here", "*.xml", SearchOption.TopDirectoryOnly)
.OrderBy(x => new FileInfo(x).LastWriteTime);