C# 文件复制程序
简介
C# 是一种高级语言,可以满足程序员的广泛需求。它也可以帮助复制文件。因此,在本文中,我们将学习一个 C# 文件复制程序。众所周知,文件复制属于文件处理的范畴。因此,在我们继续之前,让我们回顾一下文件处理的定义。
文件处理或文件管理,简单来说,就是各种处理过程,例如创建文件、从中读取、向其中写入、追加等等。文件的读取和写入是文件处理中最常见的两种操作。
复制的必要性和方法
复制文件是计算机中一项非常重要的功能。各种语言都提供了这个功能,C# 也不例外。很多时候,用户想要创建一个新文件,其中包含旧文件中相同的数据,然后向其中添加一些内容。如果用户先写入旧数据,然后再添加一些内容,则会花费大量时间。如果用户可以简单地将现有文件数据复制到新文件,然后添加一些内容,为什么还要这样做呢?因此,在这些棘手的情况下,复制文件非常有用。文件可以通过终端复制。要复制文件,可以使用 Copy(String, String) 方法。
Copy(String, String)
此方法用于将现有文件复制到新文件。完整的文件数据将复制到新文件。以下是 copy(string, string) 方法的语法。
public static void Copy (string sourceFileName, string destFileName);
此方法禁止用户覆盖同名文件。这里有两个字符串参数。第一个字符串获取要复制的源文件名。第二个字符串是目标文件名,即将源文件数据复制到的文件名。由于存在一个约束条件,即此目标文件名既不能是目录,也不能是现有文件。
此方法会抛出多个异常。例如,当用户的代码没有访问所需的权限时,会发生 UnauthorizedAccessException 异常。当源文件名或目标文件名包含一个或多个无效字符、只有空格,或者地址指定目录时,该异常称为 ArgumentException。当源文件名或目标文件名为空时,会发生 ArgumentNullException 异常。
另一个 DirectoryNotFoundException 异常发生在源文件名或目标文件名中提供的路径不正确时。
PathTooLongException 异常发生在给定的路径、文件名或两者都超过系统设置的最大长度时。
如果找不到源文件,则会抛出 FileNotFoundException 异常。现在我们知道此方法禁止用户覆盖同名文件。因此,当用户尝试这样做时,会抛出 IOException 异常(因为目标文件已存在)或任何 I/O 错误。如果源文件名或目标文件名格式无效,则会抛出 NotSupportedException 异常。
现在让我们讨论算法
算法
使用此算法,我们可以将源文件复制到目标文件。使用 File.Copy() 方法
步骤 1 − 声明字符串变量以存储文件的地址。
步骤 2 − 使用 File.Copy() 将内容从现有文件复制到新文件。
步骤 3 − 捕获抛出的异常的代码行。
步骤 4 − 文件复制完成后显示成功消息。
示例
// A C# program for copying a file
//File.Copy() is used to copy the source file to the destination file
using System;
using System.IO;
using System.Text;
using System.Linq;
class ttpt {
public static void Main() {
// Address of both the files
string OriginalFile = @"D:\source.txt";
string FinalFile = @"D:\final.txt";
try {
// Method used to copy an existing file into a new file.
File.Copy(OriginalFile, FinalFile);
}
catch (IOException iox) {
// Exception message catching box
Console.WriteLine(iox.Message);
}
Console.WriteLine("Copying of contents from source to destination file is completed") ;
}
}
输出
Copying of contents from source to destination file is completed
现在,如果用户使用第三个参数(布尔参数,值为 true 或 false)重载 File.Copy() 方法的语法,则此方法就可以在目标文件名已存在的情况下覆盖文件。
重载 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 异常发生在源文件名或目标文件名中提供的路径不正确时。
PathTooLongException 异常发生在给定的路径、文件名或两者都超过系统设置的最大长度时。
如果找不到源文件,则会抛出 FileNotFoundException 异常。
只有当发生 I/O 错误或重载的覆盖部分为 false 且目标文件已存在时,才会抛出 IOException 异常。
现在让我们讨论算法
算法
使用此算法,我们可以将源文件复制到目标文件。使用 File.Copy() 方法。
步骤 1 − 声明字符串变量以存储文件的地址。
步骤 2 − 使用重载为 true 的 File.Copy() 将内容从现有文件复制到新文件。
步骤 3 − 捕获抛出的异常的代码行。
步骤 4 − 文件复制完成后显示成功消息。
示例
// A C# program for copying a file
//File.Copy() is used to copy the source file to the destination file
using System;
using System.IO;
using System.Text;
using System.Linq;
class ttpt {
public static void Main() {
// Address of both the files
string OriginalFile = @"D:\source.txt";
string FinalFile = @"D:\final.txt";
try {
// Method used to copy an existing file into a new file.
// By this if final already exists then it will be overwritten
File.Copy(OriginalFile, FinalFile, true);
}
catch (IOException iox){
// Exception message catching box
Console.WriteLine(iox.Message);
}
Console.WriteLine("Copying of contents from source to destination file is completed") ;
}
}
输出
Copying of contents from source to destination file is completed
结论
因此,本文到此结束。在本文中,我们讨论了 C# 文件复制程序。我们以常规方式和重载方式使用了 File.Copy() 方法。我们讨论了它们的语法、异常和算法。然后我们看到了代码,并以此结束了本文。
希望本文能增强您对 C# 的了解。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP