我一直在读的静态方法文件类最好是用在像检查,看看是否存在对文件执行小一些任务,我们应该使用的实例FileInfo的,如果我们要进行很多类对特定文件的操作.
我理解这一点,可以盲目地使用它,但我想知道为什么会有区别?它们的工作方式是什么使它们适合不同的情况?让这2个不同的类看起来以不同的方式做同样的事情有什么意义呢?
如果有人能够至少回答其中一个问题,将会很有帮助.
Joh*_*sch 81
通常,如果要对文件执行单个操作,请使用File
该类.如果要对同一文件执行多个操作,请使用FileInfo
.
这样做的原因是因为访问文件时进行了安全检查.创建实例时FileInfo
,检查仅执行一次.但是,每次使用静态File
方法时都会执行检查.
"File和FileInfo类的方法类似,但它们的不同之处在于File类的方法是静态的,因此您需要传递比FileInfo实例的方法更多的参数.您需要这样做,因为它在特定文件上运行;例如,FileInfo.CopyTo()方法为用于复制文件的目标路径采用一个参数,而File.Copy()方法为源路径和目标路径采用两个参数".
http://www.aspfree.com/c/a/C-Sharp/A-Look-at-C-Sharp-File-and-FileInfo-Classes/1/
http://www.intelliott.com/blog/PermaLink,guid,ce9edbdb-6484-47cd-a5d6-63335adae02b.aspx
小智 5
File.Exists的执行速度比新的FileInfo(filePath).Exists要快得多 - 特别是在网络上并提供文件实际存在.这是因为File.Exists只检查文件是否存在,而新的FileInfo(filePath).Exists首先构造一个FileInfo对象,该对象包含文件的所有属性(日期,大小等)(如果存在).
根据我的经验,通过使用File.Exists,即使通过网络检查10个文件的存在也明显更快(即20ms vs 200ms).
归档时间: |
|
查看次数: |
27502 次 |
最近记录: |