Vb.net 文件.替换错误..如何使用?
我正在使用以下代码将文件从一个文件夹复制到另一个文件夹Vb.net 文件.替换错误..如何使用?,vb.net,Vb.net,我正在使用以下代码将文件从一个文件夹复制到另一个文件夹 Public Shared Sub CopyFlashScriptFile(ByVal SourceDirectory As String, ByVal DestinationDirectory As String) Try Dim f() As String = Directory.GetFiles(SourceDirectory) For i As Integer = 0
Public Shared Sub CopyFlashScriptFile(ByVal SourceDirectory As String, ByVal DestinationDirectory As String)
Try
Dim f() As String = Directory.GetFiles(SourceDirectory)
For i As Integer = 0 To UBound(f)
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName(f(i)))
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
但是文件已经存在于目标文件夹中,它抛出了一个错误…有人能帮我替换代码吗?我的意思是我想用新文件替换该文件。在结尾添加
true
以覆盖。()
在末尾添加
true
以覆盖。()
如果
File.Copy
方法没有类似bool Overwrite
的参数,则使用
if(File.Exists(f(1)))
File.Delete();
如果有
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName(f(i)), true);
如果
File.Copy
方法没有类似bool Overwrite
的参数,则使用
if(File.Exists(f(1)))
File.Delete();
如果有
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName(f(i)), true);
该方法有一个重载,该重载采用一个布尔值,指示是否应覆盖:
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName(f(i)), True)
无论如何,您可能还希望使用合并路径而不是合并字符串
File.Copy(f(i), Path.Combine(DestinationDirectory, System.IO.Path.GetFileName(f(i))), True)
这样做的优点是足够聪明,只有在需要时才插入
\
(这样你就不会得到像foo\\bar
这样的路径),并且可以使用各种重载来连接多个路径。该方法有一个重载,它使用一个布尔值指示是否应该覆盖:
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName(f(i)), True)
无论如何,您可能还希望使用合并路径而不是合并字符串
File.Copy(f(i), Path.Combine(DestinationDirectory, System.IO.Path.GetFileName(f(i))), True)
这样做的优点是足够聪明,只有在需要时才插入\
(这样你就不会得到像foo\\bar
这样的路径),并且可以使用各种重载来连接多个路径。
使用File.Copy方法的重载(字符串、字符串、布尔值)
其中布尔值表示覆盖
使用File.Copy方法的重载(字符串、字符串、布尔值)
其中布尔值表示覆盖存在要将覆盖设置为true的重载
MSDN源文件中描述得最好,有一个重载要将Overwrite设置为true
在MSDN源文件中有最好的描述请看这一行。。为什么system.IO.Path.GetFileName显示为引号
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName
换成这个
File.Copy(f(i), DestinationDirectory & "\\" & System.IO.Path.GetFileName
或者将反斜杠声明为常量,这将使阅读更容易看这一行。。为什么system.IO.Path.GetFileName显示为引号
File.Copy(f(i), DestinationDirectory & "\" & System.IO.Path.GetFileName
换成这个
File.Copy(f(i), DestinationDirectory & "\\" & System.IO.Path.GetFileName
或者将反斜杠声明为常量,这样更易于阅读