当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# File.Copy(String, String)用法及代码示例


File.Copy(String, String)是一个内置的 File 类方法,用于将现有源文件内容的内容复制到此函数创建的另一个目标文件。

用法:

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

参数:此函数接受两个参数,如下所示:

  • sourceFileName: This is the file from where data is copied.
  • destFileName: This is the file where data is pasted. This cannot be a existing file or a directory.

异常:

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

下面是说明 File.Copy(String, String) 方法的程序。
程序1:在运行以下代码之前,只创建了源文件 file.txt,如下所示。下面的代码本身会创建一个目标文件 gfg.txt 并将源文件内容复制到目标文件。

file.txt

C#


// C# program to illustrate the usage
// of File.Copy() method
  
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
  
class GFG {
    // Main() method
    public static void Main()
    {
        // Creating two files
        string sourceFile = @"file.txt";
        string destinationFile = @"gfg.txt";
        try {
            // Copying source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
        Console.WriteLine("Copying process has been done.");
    }
}

执行:

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

运行上面的代码后,上面的输出已经显示出来,并创建了一个新的目标文件 gfg.txt,如下所示:

gfg.txt

程序2:在运行下面的代码之前,创建了两个文件,其中的一些内容如下所示:

file.txt

gfg.txt

C#


// C# program to illustrate the usage
// of File.Copy() method
  
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
  
class GFG {
    // Main() method
    public static void Main()
    {
        // Specifying two files
        string sourceFile = @"file.txt";
        string destinationFile = @"gfg.txt";
        try {
            // Copying source file's contents to
            // destination file
            File.Copy(sourceFile, destinationFile);
        }
        catch (IOException iox) {
            Console.WriteLine(iox.Message);
        }
    }
}

执行:

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

运行上述代码后,抛出上述错误是因为在运行程序之前创建了目标文件。


相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 File.Copy(String, String) Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。