我目前正在使用以下名称保存文件名:
"Image_from" + DateTime.Now.ToString("yyyy_MM_dd-HH_mm_ss") + ".jpg",
为了做一些统计,我想得到最后一个X(例如5)文件的文件名。我知道我可以根据最后一次编写/编辑的方法对它们进行排序:
var directory = new DirectoryInfo("C:\\MyDirectory");
var myFile = directory.GetFiles()
.OrderByDescending(f => f.LastWriteTime)
.First();
但是如果有人更改文件并再次保存它,我将不会得到“最新创建”只是最新的编辑.我想确保我总是得到最后的文件创建智慧的特定目录。
有人能帮我吗?/有办法解决这个问题吗?
提前感谢!
你好,克里斯蒂安
发布于 2017-05-17 11:24:42
如果包含日期,请使用文件名
"Image_from" + DateTime.Now.ToString("yyyy_MM_dd-HH_mm_ss") + ".jpg"
就像这样:
var directory = new DirectoryInfo("C:\\MyDirectory");
var myFile = directory.GetFiles()
.OrderByDescending(f => f.Name)
.First();
编辑:
要只获取.csv文件和前5个创建文件:
var directory = new DirectoryInfo("C:\\MyDirectory");
List<FileInfo> files = directory.GetFiles("*.csv").ToList<FileInfo>();
files.Sort((x, y) => x.Name.CompareTo(y.Name));
List<FileInfo> top5 = new List<FileInfo>();
for (int i = 0; i < 5 && i < files.Count; i++)
{
top5.Add(files[i]);
}
https://stackoverflow.com/questions/44023306
复制相似问题