如何以字符串形式返回目录中的最新文件?

时间:2011-07-21 14:28:57

标签: c# .net windows

我希望能够在程序中将最新项目(已创建)作为字符串返回

e.g。 s = test.txt

“下载”目录

text.txt Date created 4/5/2011
something.txt Date created 1/1/2011

3 个答案:

答案 0 :(得分:4)

怎么样

Directory.EnumerateFiles("directory").
  OrderBy(f => File.GetCreationTime(f)).Last()

答案 1 :(得分:3)

string res = Directory.EnumerateFiles(direcory)
    .OrderByDescending(f => new FileInfo(f).CreationTime).FirstOrDefault();

答案 2 :(得分:0)

基于MSDN

的代码段
string startFolder = @"c:\Download\";
// Take a snapshot of the file system.
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(startFolder);

// This method assumes that the application has discovery permissions
// for all folders under the specified path.
IEnumerable<System.IO.FileInfo> fileList = dir.GetFiles("*.*", System.IO.SearchOption.AllDirectories);

//Create the query
IEnumerable<System.IO.FileInfo> fileQuery =
    from file in fileList
    where file.Extension == ".txt"
    orderby file.Name
    select file;

// Create and execute a new query by using the previous 
// query as a starting point. fileQuery is not 
// executed again until the call to Last()
var newestFile =
    (from file in fileList
     orderby file.CreationTime
     select new { file.FullName, file.CreationTime })
    .Last();

Console.WriteLine("\r\nThe newest .txt file is {0}. Creation time: {1}",
    newestFile.FullName, newestFile.CreationTime);

// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit");
Console.ReadKey();