📌  相关文章
📜  C#中的File.Copy(String,String)方法与示例(1)

📅  最后修改于: 2023-12-03 15:30:18.753000             🧑  作者: Mango

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

在C#中,File.Copy()方法允许我们将一个文件从一个位置复制到另一个位置。它是在System.IO命名空间下的静态方法并且有两个重载。第一个重载接受两个字符串参数,源文件路径和目标文件路径。第二个重载接受三个字符串参数,除了源文件路径和目标文件路径之外,还有一个布尔型的overwrite参数,用于指定在目标路径已经存在文件时是否覆盖。此方法返回void类型,这意味着不会有任何值被返回。

下面是一个简单的使用File.Copy()方法的示例:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string sourcePath = @"C:\Users\Public\TestFolder\test.txt";
        string destinationPath = @"C:\Users\Public\TestFolder\test_copy.txt";

        // copy the file to the destination path
        File.Copy(sourcePath, destinationPath);

        Console.WriteLine("File copied successfully.");
    }
}

以上代码将从源路径'C:\Users\Public\TestFolder\test.txt' 复制文件到目标路径'C:\Users\Public\TestFolder\test_copy.txt'。

File.Copy方法重载

在File.Copy()方法中,有两个重载。下面是每个重载的详细信息。

File.Copy(String, String)

这个重载接受两个字符串类型的参数:源文件路径和目标文件路径。该方法用于将源文件从一处复制到另一处。如果目标路径已存在一个同名文件,将会抛出一个IOException异常。

public static void Copy(string sourceFileName, string destFileName);
File.Copy(String, String, Boolean)

这个重载接受三个字符串类型参数和一个布尔类型的参数:源文件路径,目标文件路径和覆盖参数。该方法用于将源文件从一处复制到另一处。当覆盖参数设置为false时,如果目标路径已存在一个同名文件,将会抛出一个IOException异常。当覆盖参数设置为true时,将会替换目标路径的同名文件。

public static void Copy(string sourceFileName, string destFileName, bool overwrite);
注意事项

在使用File.Copy()方法时,需要注意以下事项:

  • 如果源文件路径或目标文件路径不存在,则会抛出一个FileNotFoundException异常。
  • 如果应用程序没有访问源文件的权限,则会抛出一个UnauthorizedAccessException异常。同样地,如果应用程序没有访问目标文件的权限,则会抛出一个UnauthorizedAccessException异常。
  • 如果两个路径都指向相同的文件,则该方法不会执行任何操作。
  • 如果目标文件的文件夹不存在,则该方法会先创建目标文件夹。
结论

File.Copy()方法是一个非常方便的方法,它可以用于将一个文件从一处复制到另一处。我们可以根据需要使用两个不同的重载。然而,在使用该方法时,需要注意异常和权限问题。