C# 程序复制文件
简介
C# 是一种高级语言,可满足程序员的大量需求。它还可以帮助复制文件。因此,在本文中,我们将学习一个 C# 程序来复制文件。众所周知,文件复制属于文件处理类别。因此,在继续之前,让我们回顾一下文件处理的定义。
文件处理或文件管理,通俗地说就是各种过程,例如创建文件、读取文件、写入文件、附加文件等。文件的读取和写入是文件处理中最常见的两种操作。
复制的需要和复制文件的方法
复制文件是计算机中最大的资产之一。各种语言都提供此功能,C# 也提供此功能。很多时候,用户想要创建一个新文件,该文件与旧文件的数据相同,然后向其中添加一些内容。如果用户先写入旧数据,然后再添加内容,这将花费大量时间。当用户可以简单地将现有文件数据复制到新文件中,然后添加内容时,为什么要这样做呢?因此,在这些困难的情况下,复制文件是一件大事。可以从终端复制文件。复制文件时,使用 Copy(String, String)。
Copy(String, String)
此方法用于将现有文件复制到新文件中。完整的文件数据被复制到新文件中。以下是 copy(string, string) 的语法。
public static void Copy (string sourceFileName, string destFileName);
此方法禁止用户覆盖同名文件。这里有两个字符串作为参数。第一个字符串获取源文件名,即要复制的文件。第二个字符串是目标文件名。要复制源文件数据的文件名。因为有一个约束,即这个目标文件名既不能是目录,也不能是现有文件。
此方法确实会抛出多个异常。例如,当用户的代码没有访问所需的权限时,会发生 UnauthorizedAccessException。当源文件名或目标文件名包含一个或多个无效字符、只有空格或地址指定目录时,该异常称为 ArgumentException。当源文件名或目标文件名为空时,会发生 ArgumentNullException。
当 sourceFileName 或 destFileName 中提供的位置不正确时,会发生另一个 DirectoryNotFoundException。
当给定的路径、文件名或两者超过系统设置的最大长度时,会发生 PathTooLongException。
如果找不到源文件,则会抛出 FileNotFoundException。现在我们知道此方法禁止用户覆盖同名文件。因此,当用户尝试这样做时,会抛出 IOException,因为目标文件存在或出现任何 I/O 错误。当源文件名或目标文件名格式无效时,会抛出另一个异常 NotSupportedException
现在让我们讨论算法
算法
通过使用此算法,我们可以将源文件复制到目标文件。正在使用 File.Copy() 方法
步骤 1 − 声明字符串变量来存储文件的地址。
步骤 2 − 使用 File.Copy() 将内容从现有文件复制到新文件。
步骤 3 − 抛出一行用于捕获异常的代码。
步骤 4 − 文件复制完成后显示成功消息。
示例
// 用于复制文件的 C# 程序
//File.Copy() 用于将源文件复制到目标文件
using System;
using System.IO;
using System.Text;
using System.Linq;
class ttpt {
public static void Main() {
// 两个文件的地址
string OriginalFile = @"D:\source.txt";
string FinalFile = @"D:\final.txt";
try {
// 用于将现有文件复制到新文件的方法。
File.Copy(OriginalFile, FinalFile);
}
catch (IOException iox) {
// 异常消息捕获框
Console.WriteLine(iox.Message);
}
Console.WriteLine("将内容从源文件复制到目标文件已完成") ;
}
}
输出
将内容从源文件复制到目标文件已完成
现在,如果用户使用第三个参数重载 File.Copy() 的语法,该参数是布尔参数(如果为 true 或 false)。然后,如果目标文件名已经存在,则此方法有权覆盖文件。
重载 File.Copy(String, String, Boolean)
此方法用于将现有文件复制到新文件中。完整的文件数据将复制到新文件中。以下是 copy(string, string, bool overwrite) 的语法。
public static void Copy (string sourceFileName, string destFileName, bool overwrite);
此处,使用 true 重载后,此方法允许用户覆盖同名文件。
此方法确实会引发多个异常。类似于 UnauthorizedAccessException,当用户的代码没有访问所需的权限时发生。当源文件名或目标文件名包含一个或多个无效字符、只有空格或地址指定目录时,该异常称为 ArgumentException。当源文件名或目标文件名为空时,会发生 ArgumentNullException。
另一个 DirectoryNotFoundException 发生在 sourceFileName 或 destFileName 中提供的位置不正确时。
当给定的路径、文件名或两者超过系统设置的最大长度时,会发生 PathTooLongException。
如果找不到源文件,则抛出 FileNotFoundException。
仅当发生 IO 错误或重载的覆盖部分为 false 且目标文件已存在时,才会抛出 IOException。
现在让我们讨论一下算法
算法
通过使用此算法,我们可以将源文件复制到目标文件。正在使用 File.Copy() 方法。
步骤 1 − 声明字符串变量来存储文件的地址。
步骤 2 − 使用 File.Copy() 重载 true 将内容从现有文件复制到新文件。
步骤 3 − 用于捕获抛出的异常的代码行。
步骤 4 − 文件复制完成后显示成功消息。
示例
// 用于复制文件的 C# 程序
//File.Copy() 用于将源文件复制到目标文件
using System;
using System.IO;
using System.Text;
using System.Linq;
class ttpt {
public static void Main() {
// 两个文件的地址
string OriginalFile = @"D:\source.txt";
string FinalFile = @"D:\final.txt";
try {
// 用于将现有文件复制到新文件的方法。
// 如果 final 已经存在,则通过此方法覆盖它
File.Copy(OriginalFile, FinalFile, true);
}
catch (IOException iox){
// 异常消息捕获框
Console.WriteLine(iox.Message);
}
Console.WriteLine("将内容从源文件复制到目标文件已完成") ;
}
}
输出
将内容从源文件复制到目标文件已完成
结论
至此,本文到此结束。在本文中,我们讨论了一个用于复制文件的 C# 程序。我们以正常和重载两种方式使用了 File.Copy()。我们讨论了它们的语法、异常和算法。然后我们看到了代码,并以此结束本文。
我们希望本文能增强您对 C# 的了解。

