开放的编程资料库

当前位置:我爱分享网 > C#教程 > 正文

C#复制文件

C#复制文件教程展示了如何在C#中复制文件。File.Copy方法将现有文件复制到新文件。该方法在System.IO命名空间中可用。

C#Copy.File概要

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

方法的第一个参数是源文件;第二个参数是目标文件。

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

重载方法有第三个参数:overwrite。它是一个布尔值,指示目标文件是否可以被覆盖。

C#复制文件示例

以下示例复制磁盘上的文件。

var source = @"C:\Users\Jano\Documents\words.txt";
var destination = @"C:\Users\Jano\Documents\words_bck.txt";

File.Copy(source, destination);
Console.WriteLine("File copied");

该示例复制一个文本文件。

var source = @"C:\Users\Jano\Documents\words.txt";
var destination = @"C:\Users\Jano\Documents\words_bck.txt";

我们定义源文件和目标文件。

File.Copy(source, destination);

文件是用File.Copy方法复制的。

$ dotnet run
File copied

$ dotnet run
Unhandled exception. System.IO.IOException: The file 'C:\Users\Jano\Documents\words_bck.txt' 
already exists.
...

如果我们运行这个例子两次,我们有一个异常告诉我们文件已经存在。如果我们使用重载方法并将第三个参数设置为true,目标文件将被覆盖。

C#复制文件示例

在下面的例子中,我们复制了多个文件。

string sourceDir = @"C:\Users\Jano\Documents\";
string backupDir = @"C:\Users\Jano\Documents\backup\";

string[] textFiles = Directory.GetFiles(sourceDir, "*.txt");

foreach (string textFile in textFiles)
{
    string fileName = textFile.Substring(sourceDir.Length);

    File.Copy(Path.Combine(sourceDir, fileName), 
            Path.Combine(backupDir, fileName), true);
}

Console.WriteLine("Files copied");

该示例将所有文本文件复制到备份目录。

string[] textFiles = Directory.GetFiles(sourceDir, "*.txt");

我们枚举源目录下的所有文本文件。

foreach (string textFile in textFiles)
{
    string fileName = textFile.Substring(sourceDir.Length);

    File.Copy(Path.Combine(sourceDir, fileName), 
            Path.Combine(backupDir, fileName), true);
}

foreach循环中,我们遍历文本文件列表并复制它们。我们使用Substring方法从绝对路径中截取文件名。Path.Combine将字符串组合成一个路径。

在本文中,我们使用C#复制了文件。

列出所有C#教程。

未经允许不得转载:我爱分享网 » C#复制文件

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏