File.Delete()与FileInfo.Delete()

时间:2011-10-14 20:19:05

标签: c# file-io fileinfo

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

7 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:5)

两者都在调用Win32Native.DeleteFile()

答案 2 :(得分: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

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

不,他们基本上是一回事。

答案 5 :(得分:0)

不,为方便起见,它们是重复的

答案 6 :(得分:-1)

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