.NET Framework 4.8如何按创建日期排序文件并获取最新创建文件名
获取指定文件夹中最后创建的文件名(.NET Framework 4.8)
你可以借助LINQ对GetFileSystemInfos()返回的结果按创建日期倒序排序,进而拿到最后创建的文件。以下是具体实现代码:
// 引入LINQ命名空间 using System.Linq; // 初始化目录信息对象 var directoryInfo = new System.IO.DirectoryInfo(@"c:\Parametre"); // 获取所有文件(排除文件夹),按创建时间倒序排序后取第一个 var lastCreatedFile = directoryInfo.GetFileSystemInfos() .Where(item => !item.Attributes.HasFlag(System.IO.FileAttributes.Directory)) .OrderByDescending(item => item.CreationTime) .FirstOrDefault(); // 检查是否存在文件,避免空引用异常 if (lastCreatedFile != null) { string latestFileName = lastCreatedFile.Name; // 在这里使用获取到的文件名 }
补充说明:
- 如果需要包含文件夹在内的所有项,直接移除
.Where(item => !item.Attributes.HasFlag(System.IO.FileAttributes.Directory))这一行即可 - 使用
FirstOrDefault()而非First(),是为了避免目标文件夹为空时抛出异常 - 在Aveva ArchestrA环境中,请确保项目已引用
System.Core程序集,并正确引入System.Linq命名空间
内容的提问来源于stack exchange,提问作者Leo Bois
相关产品推荐
相关产品推荐

