C# 在不使用 System.IO.FileInfo 的情况下获取文件属性

标签 c# filenames fileinfo getfiles system.io.fileinfo

是否可以在根本不使用 System.IO.FileInfo 的情况下从给定文件中提取“某些”属性?

我的意思是,我喜欢在只有几个文件要处理的情况下使用 FileInfo,但是,例如,如果我想从中获取文件名列表,比方说, 50 万个文件,我决定使用 FileInfo...它需要永远!

我怀疑 FileInfo 将有关该文件的一堆其他内容加载到内存中(正确吗?)。如果是这样,我觉得应该有一种更快的方法来获取名称或文件扩展名。

另一方面,我可以只使用 Directory.GetFiles(myPath),但这为我提供了一个包含每个文件的完整路径的数组,而我只是每个文件都需要名称! (我想我可以解析路径字符串以从中提取名称...这会比使用 FileInfo 更快吗?)

如果我想更快地完成此操作(获取文件名或获取文件扩展名),还有哪些其他选择?

非常感谢!!

最佳答案

您正在寻找 Path 类中的方法。

具体来说,Path.GetFileName()Path.GetExtension()

关于C# 在不使用 System.IO.FileInfo 的情况下获取文件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160489/

相关文章:

c# - 用户范围的应用程序设置(在 VS 设计器中创建)线程安全吗?

c# - "Go To Type Definition"上下文菜单项在哪里?

python - 从文件路径仅获取文件名(不带扩展名和目录)

c# - 了解 DirectoryInfo.Exists 上的 boolean 值

c# - 我应该在工厂模式类中处理异常还是让它们向上传播?

c# - git中的值是什么意思?

c# - 如何使用 C# 读取一行 HTML

filesystems - 如何根据文件系统了解文件名的字符编码

java - Android:如何更改下载文件的文件名?

linux - 识别现有文件夹