为什么有两个类,System.IO.File和System.IO.FileInfo,它们的作用几乎相同?
一般而言,它们有两个非常不同的功能:
System.IO.File
- 获取/处理任何文件System.IO.FileInto
- 获取/处理(包括元数据)特定的文件尽管它们共享一些具有相同目的的方法,但它们大多数情况下都具有非常不同的目的和服务的最佳场景。
System.IO.File
提供了与文件操作相关的静态成员,而System.IO.FileInfo
则代表特定的文件并包含用于处理该文件的非静态成员。
来自 MSDN 的说明:
由于所有 File 方法都是静态的,如果您只想执行一个操作,使用 File 方法可能比相应的 FileInfo 实例方法更有效。所有 File 方法都需要您正在操作的文件的路径。
File 类的静态方法对所有方法执行安全检查。如果您要多次重复使用一个对象,请考虑使用 FileInfo 的相应实例方法,因为不一定始终需要进行安全检查。