2016-01-20 131 views
2

我正在尝试获取特定文件的最后写入时间。这是代码和它的工作原理:`C#文件上次修改时间

DirectoryInfo DR = new DirectoryInfo(folderPath); 
FileInfo[] FR2 = DR.GetFiles("InputData.csv"); 
var FileLastModified= null; 

foreach (FileInfo F1 in FR2) 
{ 
    FileLastModified = F1.LastWriteTime; 
} 

FileLastModified给我的最后写入时间,我只是有兴趣了解这个InputData.csv文件的时间。问题是我不想使用for循环,只需要一个特定文件的写入时间。有没有更好的方式来写这没有循环?

+4

您发布的代码不起作用 - 它不会编译。你不能使用var来声明一个变量,并用'null'的值初始化它。 –

回答

3

是的,您可以将路径传递到您感兴趣的文件到new FileInfo对象。

var fileInfo = new FileInfo(pathToFile); 
var fileLastModified = fileInfo.LastWriteTime; 
+0

谢谢先生。我必须使用上述文章中提到的组合路径,因为该路径中有很多文件。 – netchi

10

你不必通过目录获得FileInfo搜索 - you can construct one directly from the full path。这听起来像你只需要:

var fileInfo = new FileInfo(Path.Combine(folderPath, "InputData.csv")); 
var lastModified = fileInfo.LastWriteTime; 
+0

感谢您的超级快速响应。这有帮助。 – netchi

+0

如果此答案解决了您的问题,请不要忘记接受它。 –

相关问题