【发布时间】:2013-01-18 21:29:44
【问题描述】:
是否可以在完全不使用System.IO.FileInfo 的情况下在C# 中获取文件的大小?
我知道您可以分别使用Path.GetFileName(yourFilePath) 和Path.GetExtension(yourFilePath) 来获取名称和扩展名等其他内容,但显然不是文件大小?有没有其他方法可以在不使用System.IO.FileInfo 的情况下获得文件大小?
这样做的唯一原因是,如果我是正确的,FileInfo 获取的信息比我真正需要的要多,因此如果我唯一需要的是文件的大小,那么收集所有这些 FileInfo 需要更长的时间。有更快的方法吗?
【问题讨论】:
-
过早的优化是万恶之源。使用
FileInfo,分析代码,并确定它是否足够快以满足您的需求。如果您已确认它占应用程序运行时间的很大一部分,并且您的应用程序速度慢得令人无法接受,那么请考虑其他选项。 -
我想是文件大小占用了大部分时间,其他项目基本上是免费的。
-
过早的优化是万恶之源。这真的会给您带来问题吗?
-
@asawyer 这是假设信息一开始就没有延迟加载。
-
FileInfo 的一个众所周知的问题是它只获取您要求的数据。但是现在很方便,尝试优化它的原因是没有意义的。
标签: c# filepath filesize fileinfo