如何获取文件创建日期和修改日期

103

我有一个.NET EXE文件。 我希望在C#应用程序中找到该文件的创建日期和修改日期。是否可以通过反射或IO流来实现?


看一下 File 类,应该不难:http://msdn.microsoft.com/zh-cn/library/system.io.file.aspx - Max
如果你先搜索谷歌,会得到很多结果。 - Soner Gönül
6个回答

183
您可以使用以下代码:
DateTime creation = File.GetCreationTime(@"C:\test.txt");
DateTime modification = File.GetLastWriteTime(@"C:\test.txt");

3
如果我想知道文件字节数的相同信息,应该怎么办? - Zaheer Ul Hassan
6
请注意--如果返回的是最小日期,很可能是因为文件不存在、路径无效等原因。(它不会抛出异常) - Jeff

49
你可以使用FileInfo类实现此目的:
FileInfo fi = new FileInfo("path");
var created = fi.CreationTime;
var lastmodified = fi.LastWriteTime;

根据链接,“如果您对同一文件执行多个操作,则使用FileInfo实例方法比使用File类的相应静态方法更有效率,因为安全检查并不总是必要的。” - VoteCoffee

9

7

使用:

FileInfo fInfo = new FileInfo('FilePath');
var fFirstTime = fInfo.CreationTime;
var fLastTime = fInfo.LastWriteTime;

这些东西不能单独存在,它们是某个类的一部分。哪个类? - David Heffernan
SystemIO类 - stuicidle

6

File.GetLastWriteTime 方法

返回指定文件或目录上次写入的日期和时间。

string path = @"c:\Temp\MyTest.txt";
DateTime dt = File.GetLastWriteTime(path);

对于创建时间,使用File.GetCreationTime方法。

DateTime fileCreatedDate = File.GetCreationTime(@"C:\Example\MyTest.txt");
Console.WriteLine("file created: " + fileCreatedDate);

4
您可以使用此代码查看文件的最后修改日期。
DateTime dt = File.GetLastWriteTime(path);

使用以下代码查看创建时间。

DateTime fileCreatedDate = File.GetCreationTime(@"C:\Example\MyTest.txt");

只需记住,NTFS - Windows操作系统 GUI中存在一个可追溯到90年代的错误,它混淆了创建日期和修改日期(你是否曾经想过为什么他们从未修复它?) - MC9000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接