【问题标题】:How to choose the last modified file from the directory? [duplicate]如何从目录中选择最后修改的文件? [复制]
【发布时间】:2013-06-15 19:10:17
【问题描述】:

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

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

【问题讨论】:

    标签: c#


    【解决方案1】:

    命名空间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() 在空集合上被调用,则会抛出此错误),但这是一般的想法。

    【讨论】:

      【解决方案2】:
      var file = new DirectoryInfo(dirname)
                      .GetFiles()
                      .OrderByDescending(f => f.LastWriteTime)
                      .FirstOrDefault();
      

      【讨论】:

        【解决方案3】:

        试试这个

            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;
        

        【讨论】:

          猜你喜欢
          • 2012-02-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-30
          • 2016-08-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-05
          相关资源
          最近更新 更多