C#复制文件程序

C# 复制文件程序

简介

C# 是一种高级语言,可以满足程序员的大量需求,还可以帮助复制文件。因此,在本文中,我们将学习一个 C# 复制文件程序。由于我们知道复制文件属于文件处理的范畴,因此在进一步操作之前,让我们回顾一下文件处理的定义。

文件处理或文件管理在普通人的语言中是指诸如创建文件、读取文件、向文件写入数据、追加数据等各种过程。文件的读取和写入是文件处理中最常见的两个操作。

复制的需要和方法

文件复制是计算机中最重要的资源之一。许多语言都提供此功能,C# 也不例外。很多时候用户想创建一个具有与某个旧文件相同数据的新文件,然后再向其中添加一些内容。如果用户先写入旧的数据再添加,会耗费很多时间。那么为什么不直接将现有文件数据复制到新文件中,然后再添加呢?因此,在这种困难的情况下,复制文件是一个真正的解决方法。可以通过终端来复制文件。复制文件需要使用 Copy(String, String) 方法。

Copy(String, String) 方法

此方法用于将现有文件复制到新文件中。完整的文件数据将复制到新文件中。以下是 Copy(String, String) 的语法。

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

该方法禁止用户覆盖同名文件。这里有两个字符串作为参数。第一个字符串获取源文件名,即要被复制的文件的名称。第二个字符串是目标文件的名称。源文件数据将被复制到的文件名。由于有一个限制,即该目标文件名不应是目录或现有文件。

此方法会引发多个异常。例如,UnauthorizedAccessException 在用户的代码没有所需权限访问时发生。当源文件名或目标文件名包含一个或多个无效字符、只有空格或地址指定目录时,该异常被称为 ArgumentException。当源文件名或目标文件名为 null 时,则发生 ArgumentNullException。

另一个是 DirectoryNotFoundException,当 sourceFileName 或 destFileName 中所提供的位置不正确时发生。如果给定路径、文件名或两者都超过系统设置的最大长度,则会发生 PathTooLongException。

如果找不到源文件,则会抛出 FileNotFoundException。现在,如我们所知,此方法禁止用户覆盖同名文件。因此,当用户尝试这样做时,如果目标文件存在或有任何 I/O 错误,将抛出 IOException 异常。还有一种情况是如果源文件名或目标文件名的格式无效,则抛出 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)

此方法用于将现有文件复制到新文件。完整文件数据将复制到新文件中。以下是复制(string, string, bool overwrite)的语法。

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

当重载为true时,该方法允许用户覆盖具有相同名称的文件。

此方法会抛出多种异常,例如,当用户的代码没有所需的访问权限时,会发生UnauthorizedAccessException异常,当源文件名或目标文件名包含一个或多个无效字符、仅为空格符或地址指定的目录时,该异常被称为ArgumentException异常。当源文件名或目标文件名为null时,会发生ArgumentNullException异常。

当sourceFileName或destFileName中提供的位置不正确时,会发生DirectoryNotFoundException异常。

当给定的路径、文件名或二者都超过系统设置的最大长度时,会发生PathTooLongException。

如果找不到源文件,则会抛出FileNotFoundException异常。

仅当发生IO错误或重载部分为false且目标文件已经存在时,才会抛出IOException。

现在让我们讨论该算法

算法

使用此算法,我们可以将源文件复制到目标文件。使用了File.Copy()方法。

步骤 1 – 声明字符串变量以存储文件的地址。

步骤 2 – 使用true重载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, true);
      }
      catch (IOException iox)
      {
         // 异常消息捕获盒子
         Console.WriteLine(iox.Message);
      }
      Console.WriteLine("从源文件复制内容到目标文件的复制完成") ;
   }
}

输出

从源文件复制内容到目标文件的复制完成 

结论

因此,本文到这里结束了。在本文中,我们讨论了一个C#程序来复制文件。我们使用File.Copy()以普通和重载的方式。我们讨论了它们的语法,异常和算法。然后我们看到了代码,就这样结束了文章。

我们希望本文增强了你对C#的知识。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程