我正在寻找一种方法来查看文件最后一次在C#中修改.我完全可以访问该文件.
当我调用FileInfo(path).LastAccessTime或FileInfo(path).LastWriteTime正在写入的文件时,它返回创建文件的时间,而不是上次写入文件的时间(即现在).
有没有办法获得这些信息?
编辑:到目前为止的所有回复.我没有尝试,Refresh()但也没有尝试过.我返回文件开始写入的时间.静态方法也是如此,并创建了一个新的实例FileInfo.
Codymanix可能有答案,但我没有运行Windows Server(使用Windows 7),我不知道设置的测试位置.
编辑2:没有人觉得这个功能似乎不起作用很有趣?
有没有办法可以使用Array?目录存储5个最后修改过的文件的文件位置?
我目前正在使用以下代码获取最后一个文件:
DateTime lastHigh = new DateTime(1900,1,1);
string highDir;
foreach (string subdir in Directory.GetDirectories(path)){
DirectoryInfo fi1 = new DirectoryInfo(subdir);
DateTime created = fi1.LastWriteTime;
if (created > lastHigh){
highDir = subdir;
lastHigh = created;
}
}
Run Code Online (Sandbox Code Playgroud)
我将Array用于将多个文件作为附件发送到电子邮件地址.
UPDATE
我目前正在使用以下代码在1分钟后获取最后修改的文件:
string myDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
"Test Folder");
var directory = new DirectoryInfo(myDirectory);
DateTime from_date = DateTime.Now.AddMinutes(-1);
DateTime to_date = DateTime.Now;
var files = directory.GetFiles().Where(file => file.LastWriteTime >= from_date && file.LastWriteTime <= to_date);
Run Code Online (Sandbox Code Playgroud)
我想存储到来自的文件名列表 files