3

我在一个文件夹中有 N 个文件。一些信息不时写入其中。对于如何将信息添加到其中,没有严格的逻辑。文件内容不相关。

如何获取每个文件的最后修改时间,比较选择合适的?

4

3 回答 3

5

命名空间System.IO具有帮助您获取有关文件系统内容的信息的类。再加上一点 LINQ,可以很容易地完成您需要的操作:

// Get the full path of the most recently modified file
var mostRecentlyModified = Directory.GetFiles(@"c:\mydir", "*.log")
                                    .Select(f => new FileInfo(f))
                                    .OrderByDescending(fi => fi.LastWriteTime)
                                    .First()
                                    .FullName;

您确实需要在这里小心一点(例如,如果由于.First()在空集合上调用而在指定目录中没有匹配的文件,则会抛出此错误),但这是一般的想法。

于 2013-06-15T19:17:23.630 回答
1
var file = new DirectoryInfo(dirname)
                .GetFiles()
                .OrderByDescending(f => f.LastWriteTime)
                .FirstOrDefault();
于 2013-06-15T19:24:48.700 回答
0

尝试这个

    DirectoryInfo DR = new DirectoryInfo(@"Path to directory where files are stored");

    FileInfo FR = DR.GetFiles();

    foreach(FileInfo F in FR)
    {
          Console.WriteLine("Last Edit Time : {0}",F.LastWriteTime);
    }

记得添加命名空间

    using System.IO;
于 2013-06-15T19:20:21.383 回答