如何从目录中选择上次修改的文件?

时间:2013-06-15 19:10:17

标签: c#

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

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

3 个答案:

答案 0 :(得分: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()而在指定目录中没有匹配的文件,则会抛出),但这是一般的想法。< / p>

答案 1 :(得分:1)

var file = new DirectoryInfo(dirname)
                .GetFiles()
                .OrderByDescending(f => f.LastWriteTime)
                .FirstOrDefault();

答案 2 :(得分: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;
相关问题