15

File使用对象的静态方法与创建新FileInfo对象并调用这些方法 有很大区别吗?

4

7 回答 7

13

唯一的区别是File必须解析指定的路径(假设它是相对的),而FileInfo应该已经有了解析的路径。

于 2011-10-14T20:22:34.883 回答
7

两人都在打电话Win32Native.DeleteFile()

于 2011-10-14T20:23:05.143 回答
3

这取决于。如果您正在执行单个操作,请使用File该类,并且如果您正在对同一文件执行多个操作,请使用FileInfo.

编辑:我提出这一点是因为我的理解是 File 类的静态方法将始终检查安全性。但是,如果您正在重用 FileInfo 的实例,则这些方法只会在第一次而不是在随后的每个调用中进行安全检查。

于 2011-10-14T20:22:38.827 回答
1

我希望这会帮助你...

IO.FileInfo为文件的创建、复制、删除、移动和打开提供实例方法,并帮助创建System.IO.FileStream objects. 这个类不能被继承。

这意味着,您需要创建 FileInfo 的实例/对象来完成此过程。

IO.File 为文件的创建、复制、删除、移动和打开提供静态方法,并帮助创建 System.IO.FileStream 对象。

这意味着,您无需创建 FileInfo 的实例/对象来完成此过程。

查看论文链接了解更多信息

http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx

http://msdn.microsoft.com/en-us/library/system.io.file.aspx

于 2011-10-14T20:22:05.147 回答
1

不,它们基本上是一样的。

于 2011-10-14T20:22:42.100 回答
0

不,它们是为了方便而重复的

于 2011-10-14T20:21:57.250 回答
-1

几乎没有区别。如果文件存在则删除文件,如果文件不存在则抛出异常。

于 2011-10-14T20:27:18.950 回答