如何:在 Visual Basic 中在不同的目录中创建文件的副本
使用 My.Computer.FileSystem.CopyFile
方法可复制文件。 该方法的参数提供了各种功能,用于覆盖现有文件、重命名文件、显示操作进度以及允许用户取消操作。
将文本文件复制到其他文件夹
使用
CopyFile
方法并指定源文件和目标目录,可以复制文件。 通过overwrite
参数,可以指定是否覆盖现有文件。 下面的代码示例演示如何使用CopyFile
。' Copy the file to a new location without overwriting existing file. My.Computer.FileSystem.CopyFile( "C:\UserFiles\TestFiles\testFile.txt", "C:\UserFiles\TestFiles2\testFile.txt") ' Copy the file to a new folder, overwriting existing file. My.Computer.FileSystem.CopyFile( "C:\UserFiles\TestFiles\testFile.txt", "C:\UserFiles\TestFiles2\testFile.txt", Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing) ' Copy the file to a new folder and rename it. My.Computer.FileSystem.CopyFile( "C:\UserFiles\TestFiles\testFile.txt", "C:\UserFiles\TestFiles2\NewFile.txt", Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
可靠编程
以下情况可能会导致异常:
路径由于以下原因之一而无效:是零长度字符串;仅包含空白;包含无效字符;是一个设备路径(开头字符为 \\.\)(ArgumentException)。
系统无法检索绝对路径 (ArgumentException)。
路径无效,因为它是
Nothing
(ArgumentNullException)。源文件无效或不存在 (FileNotFoundException)。
合并路径指向现有目录 (IOException)。
存在目标文件,并且
overwrite
设置为False
(IOException)。用户没有足够的权限访问文件 (IOException)。
目标文件夹中的同名文件正在使用中 (IOException)。
路径中的文件名或文件夹名包含冒号 (:),或其格式无效 (NotSupportedException)。
ShowUI
设置为True
、onUserCancel
设置为ThrowException
,并且用户已取消操作 (OperationCanceledException)。ShowUI
设置为True
、onUserCancel
设置为ThrowException
,并出现未指定的 I/O 错误 (OperationCanceledException)。路径超过了系统定义的最大长度 (PathTooLongException)。
用户没有必需的权限 (UnauthorizedAccessException)。
该用户缺少查看该路径所必需的权限 (SecurityException)。