C#中,如何找出文件下最新创建的的文件
一个文件夹下,有很多txt文件,他们文件名为1.txt,2.txt,3.txt,。。。。,根据创建时间,序号不断增大,而且文件数量还在持续不断地增加中。怎么通过C#编程来...
一个文件夹下,有很多txt文件,他们文件名为1.txt,2.txt,3.txt,。。。。,根据创建时间,序号不断增大,而且文件数量还在持续不断地增加中。
怎么通过C#编程来确定当前时间下,最新创建的那个文件(或者序号最大的那个文件)? 展开
怎么通过C#编程来确定当前时间下,最新创建的那个文件(或者序号最大的那个文件)? 展开
1个回答
展开全部
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace ConsoleApplication1
{
//自定义一个类
public class FileTimeInfo
{
public string FileName; //文件名
public DateTime FileCreateTime; //创建时间
}
class Program
{
static void Main(string[] args)
{
//使用 GetLatestFileTimeInfo
//获取d:\test文件中,扩展名为.txt的最新文件
FileTimeInfo fi = GetLatestFileTimeInfo(@"d:\Test", ".txt");
if (fi != null)
{
Console.WriteLine("文件名:{0} 创建时间:{1}", fi.FileName, fi.FileCreateTime);
}
else
{
Console.WriteLine("文件夹中没有指定扩展名的文件!");
}
}
//获取最近创建的文件名和创建时间
//如果没有指定类型的文件,返回null
static FileTimeInfo GetLatestFileTimeInfo(string dir, string ext)
{
List<FileTimeInfo> list = new List<FileTimeInfo>();
DirectoryInfo d = new DirectoryInfo(dir);
foreach (FileInfo fi in d.GetFiles())
{
if (fi.Extension.ToUpper() == ext.ToUpper())
{
list.Add(new FileTimeInfo()
{
FileName = fi.FullName,
FileCreateTime = fi.CreationTime
});
}
}
var qry = from x in list
orderby x.FileCreateTime
select x;
return qry.LastOrDefault();
}
}
}
---
请留意上面代码中的 GetLatestFileTimeInfo( ) 方法!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询