8

关于这两个类和这些特定方法 FileIO.FileSystem.CopyFile() 和 System.IO.File.Copy() 之间的区别,我有几个问题

在最简单的级别上,当 sourceFile、destinationFile 和 bool 设置为 true 以覆盖时,它们都做同样的事情。例如

FileIO.FileSystem.CopyFile(source, destination, True) 
System.IO.File.Copy(source, destination, True)

我的两个问题是

  1. 由于我在 MSDN 网站上找不到(或者我可能错过了重点)任何内容,所以显示的 2 与显示的重载有什么区别。
  2. 当 MSDN 文档中没有差异时,您(好心人回答)如何知道差异?
4

4 回答 4

8

在进行了几次健全性检查(例如文件、目录是否存在)并在需要时创建目标目录后,快速浏览一下反射器显示中的Microsoft.VisualBasic.dll 。FileIO.FileSystem.CopyFile.Copy

于 2013-01-08T09:53:12.893 回答
3

VisualBasic 版本经过一些检查调用 System.IO.File.Copy,我通过使用 dotPeek 发现,dotPeek 是 .NET 反编译器。

于 2013-01-08T09:53:23.653 回答
1

我能看到的唯一区别是它们有可能引发不同的异常列表——我恐怕是通过阅读 MSDN 文档发现的 :o)

于 2013-01-08T09:47:16.167 回答
0

经过我自己的研究,它似乎确实做了一些没有记录的事情。

FileIO.FileSystem.CopyFile(source, destination, true)如果文件夹不存在,将创建一个文件夹,而 asSystem.IO.File.Copy(source, desintation, true)不存在并引发异常。

似乎使用FileIO.FileSystem.CopyFile(source, destination, true)引用时仍保留在内存中,因此在尝试删除新文件夹或文件时,会引发异常“ ...已被另一个进程使用”。

于 2013-01-08T09:54:54.330 回答