关于这两个类与这些特定方法之间的区别,我有几个问题,FileIO.FileSystem.CopyFile()和System.IO.File.Copy()
在最简单的层面上,当使用sourceFile重载时,它们都会做同样的事情,destinationFile和bool设置为true来覆盖。 EG
FileIO.FileSystem.CopyFile(source, destination, True)
System.IO.File.Copy(source, destination, True)
我的两个问题是
答案 0 :(得分:7)
快速查看反射器显示FileIO.FileSystem.Copy
中的 Microsoft.VisualBasic.dll ,在执行一些完整性检查后,只会移交给File.Copy
(文件,目录存在例如)并在需要时创建目标目录。
答案 1 :(得分:2)
一些检查后的VisualBasic版本调用System.IO.File.Copy,我发现使用dotPeek,dotPeek是.NET反编译器。
答案 2 :(得分:1)
我能看到的唯一区别是他们有可能提出不同的例外列表 - 我发现,我害怕,通过阅读MSDN文档:o)
答案 3 :(得分:0)
在我自己的研究之后,似乎确实做了一些没有记录的事情。
如果文件夹不存在, FileIO.FileSystem.CopyFile(source, destination, true)
将创建一个文件夹,而System.IO.File.Copy(source, desintation, true)
则不会,并抛出异常。
出现,当使用FileIO.FileSystem.CopyFile(source, destination, true)
时,引用仍保留在内存中,因此在尝试删除新文件夹或文件时,会抛出异常“ ...已经由另一个进程使用“。