C# 中 File.Copy(String, String) 方法的用法与示例

当我们需要在应用程序中处理文件操作时,File.Copy(String, String) 是一个非常实用的内置方法。它主要用于将现有源文件的内容完整地复制到一个新的目标文件中,而这个目标文件正是由该函数在复制过程中创建的。

语法:

public static void Copy (string sourceFileName, string destFileName);

参数:

为了执行复制操作,我们需要向该函数提供两个参数,具体说明如下:

> – sourceFileName: 这是数据被复制的源文件,即我们要读取的文件。

> – destFileName: 这是数据被粘贴的目标文件。需要注意的是,这个文件目前必须是不存在的(不能是一个已有的文件或目录)。

异常:

在使用文件操作时,处理潜在的异常非常重要。以下是可能会遇到的几种情况:

  • UnauthorizedAccessException: 调用者没有所需的操作权限。
  • ArgumentException: 源文件名或目标文件名是零长度字符串,仅包含空白,或者包含 InvalidPathChars 定义的一个或多个无效字符。或者,源文件名或目标文件名指定了一个目录。
  • ArgumentNullException: 源文件名或目标文件名为 null。
  • PathTooLongException: 给定的路径、文件名或两者都超过了系统定义的最大长度。
  • DirectoryNotFoundException: 源文件名或目标文件名中给定的路径无效(例如,它位于未映射的驱动器上)。
  • FileNotFoundException: 未找到源文件。
  • IOException: destFileName 已经存在。或者发生了 I/O 错误。
  • NotSupportedException: 源文件名或 destFileName 的格式无效。

让我们通过下面的程序来看看 File.Copy(String, String) 方法是如何工作的。

程序 1: 在运行以下代码之前,我们创建了一个源文件 file.txt,内容如下。下面的代码会自动创建一个名为 gfg.txt 的目标文件,并将源文件的内容复制到其中。

!file.txt

CSharp


CODEBLOCK_38b42dfd

执行过程:

mcs -out:main.exe main.cs
mono main.exe
Copying process has been done.

运行上述代码后,我们将看到输出信息,并且一个新的目标文件 gfg.txt 已经被创建,内容如下所示:

!gfg.txt

程序 2: 在运行下面的代码之前,我们预先创建了两个包含一些内容的文件,如下所示:

!file.txt

!gfg.txt

CSharp


CODEBLOCK_170fec95

执行过程:

mcs -out:main.exe main.cs
mono main.exe
Could not create file "/home/runner/NutritiousHeavyRegression/gfg.txt". File already exists.

运行上述代码后,系统抛出了上述错误。正如我们所预料的,这是因为目标文件在程序运行之前就已经存在了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/29163.html
点赞
0.00 平均评分 (0% 分数) - 0