📌  相关文章
📜  C# – 将内容从一个文件复制到另一个文件

📅  最后修改于: 2022-05-13 01:55:15.137000             🧑  作者: Mango

C# – 将内容从一个文件复制到另一个文件

给定一个文件,现在我们的任务是使用 C# 将数据从一个文件复制到另一个文件。因此,为了完成这项任务,我们使用 System.IO 命名空间中 File 类的Copy()方法。此函数用于将内容从一个文件复制到新文件。它有两种不同类型的重载方法:

1. Copy(String, String) 该函数用于将内容从一个文件复制到一个新文件。它不支持覆盖同名文件。

句法:

File.Copy(file1, file2);

其中file1是第一个文件, file2是第二个文件。

异常:此方法将抛出以下异常:

  • UnauthorizedAccessException:当调用者没有所需的权限时会发生此异常。
  • ArgumentException:当 file1 或 file2 指定目录时会发生此异常。
  • ArgumentNullException:当 file1 或 file2 为 null 时会发生此异常。
  • PathTooLongException:当指定的路径、文件名或两者都超过系统定义的最大长度时,将发生此异常。
  • DirectoryNotFoundException:当file1或file2中指定的路径无效时会发生此异常。
  • FileNotFoundException:找不到file1时会发生此异常。
  • IOException:当file2存在时会发生此异常。
  • NotSupportedException:当 file1 或 file2 的格式无效时会发生此异常。

2. Copy(String, String, Boolean) 此函数用于将内容从一个文件复制到一个新文件。它不支持覆盖同名文件。

句法:

File.Copy(file1, file2, owrite);

其中file1是第一个文件, file2是第二个文件,write 是一个布尔变量,如果可以覆盖目标文件,则将其设置为 true,否则设置为 false。

异常:此方法将抛出以下异常:

  • UnauthorizedAccessException:当调用者没有所需的权限时会发生此异常。或者 file2 是只读的,或者 write 设置为 true 并且 file to 是隐藏的,但 file1 不是隐藏的。
  • ArgumentException:当 file1 或 file2 指定目录时会发生此异常。
  • ArgumentNullException:当 file1 或 file2 为 null 时会发生此异常。
  • PathTooLongException:当指定的路径、文件名或两者都超过系统定义的最大长度时,将发生此异常。
  • DirectoryNotFoundException:当file1或file2中指定的路径无效时会发生此异常。
  • FileNotFoundException:找不到file1时会发生此异常。
  • IOException:当file2存在且owrite为false时会发生此异常。
  • NotSupportedException:当 file1 或 file2 的格式无效时会发生此异常。

例子:

让我们考虑两个名为 file1 和 file2 的文件。现在 file1.txt 包含以下文本:

现在 file2.txt 包含以下文本:

方法:

C#
// C# program to copy data from one file to another
using System;
using System.IO;
  
class GFG{
      
static void Main()
{
    
    // Copy contents from file1 to file2
    File.Copy("file1.txt", "file2.txt");
      
    // Display file2 contents
    Console.WriteLine(File.ReadAllText("file2.txt"));
}
}


输出:

现在,file2.txt 是: