File.Copy(字符串,字符串,布尔值)是一个内置的 File 类方法,用于将现有源文件内容的内容复制到另一个目标文件(如果存在),否则创建一个新的目标文件,然后完成复制过程。
用法:
public static void Copy (string sourceFileName, string destFileName, bool overwrite);
参数:此函数接受三个参数,如下所示:
- sourceFileName: This is the file from where data is copied.
- destFileName: This is the file where data is pasted.
- overwrite: This is the boolean value. It uses true if the destination file can be overwritten otherwise it uses false.
异常:
- UnauthorizedAccessException:destFileName 是只读的 OR 如果 destFileName 存在且隐藏,但源文件名未隐藏,则此处覆盖为真。
- ArgumentException:源文件名或 destFileName 是一个长度为零的字符串,只包含空格,或者包含一个或多个由 InvalidPathChars 定义的无效字符。或 sourceFileName 或 destFileName 指定一个目录。
- ArgumentNullException:sourceFileName 或 destFileName 为空。
- PathTooLongException:指定的路径,文件名或两者都超过了system-defined的最大长度。
- DirectoryNotFoundException:源文件名或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。
- FileNotFoundException:未找到源文件名。
- IOException:destFileName 存在且覆盖为 false 或发生 I/O 错误。
- NotSupportedException:sourceFileName 或 destFileName 的格式无效。
下面是说明 File.Copy(String, String, Boolean) 方法的程序。
程序1:在运行以下代码之前,创建了两个文件,即源文件 file.txt 和目标文件 gfg.txt,其中的一些内容如下所示:
C#
// C# program to illustrate the usage
// of File.Copy() method
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
class GFG {
// Main() method
public static void Main()
{
// Specifying two files
string sourceFile = @"file.txt";
string destinationFile = @"gfg.txt";
try {
// Copying source file's contents to
// destination file
File.Copy(sourceFile, destinationFile, true);
}
catch (IOException iox) {
Console.WriteLine(iox.Message);
}
Console.WriteLine("Copying process has been done.");
}
}
执行:
mcs -out:main.exe main.cs mono main.exe Copying process has been done.
运行上面的代码后,显示上面的输出,目标文件内容如下所示:
程序2:在运行以下代码之前,创建了两个文件,即源文件 file.txt 和目标文件 gfg.txt,其中一些内容如下所示:
C#
// C# program to illustrate the usage
// of File.Copy() method
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
class GFG {
// Main() method
public static void Main()
{
// Specifying two files
string sourceFile = @"file.txt";
string destinationFile = @"gfg.txt";
try {
// Copying source file's contents to
// destination file
File.Copy(sourceFile, destinationFile, true);
}
catch (IOException iox) {
Console.WriteLine(iox.Message);
}
Console.WriteLine("Copying process has been done.");
}
}
执行:
mcs -out:main.exe main.cs mono main.exe Copying process has been done.
运行上面的代码后,显示上面的输出,目标文件内容被源文件 file.txt 的内容覆盖,如下所示:
程序3:在运行以下代码之前,创建了两个文件,即源文件 file.txt 和目标文件 gfg.txt,其中一些内容如下所示:
C#
// C# program to illustrate the usage
// of File.Copy() method
// Using System, System.IO,
// System.Text and System.Linq namespaces
using System;
using System.IO;
using System.Text;
using System.Linq;
class GFG {
// Main() method
public static void Main()
{
// Specifying two files
string sourceFile = @"file.txt";
string destinationFile = @"gfg.txt";
try {
// Copying source file's contents to
// destination file
File.Copy(sourceFile, destinationFile, false);
}
catch (IOException iox) {
Console.WriteLine(iox.Message);
}
}
}
执行:
mcs -out:main.exe main.cs mono main.exe Could not create file "/home/runner/NutritiousHeavyRegression/gfg.txt". File already exists.
运行上面的代码后,抛出上面的错误,这是因为上面代码中使用的布尔覆盖值是假的。
相关用法
- C# Boolean.CompareTo(Boolean)用法及代码示例
- C# Boolean.Equals(Boolean)用法及代码示例
- C# File.Replace(String, String, String, Boolean)用法及代码示例
- C# Boolean.GetHashCode()用法及代码示例
- C# Boolean.GetTypeCode用法及代码示例
- C# Boolean.TryParse()用法及代码示例
- C# Boolean.Parse()用法及代码示例
- C# Boolean.ToString(IFormatProvider)用法及代码示例
- C# Boolean.Equals(Object)用法及代码示例
- C# Boolean.CompareTo(Object)用法及代码示例
- C# Boolean.ToString()用法及代码示例
- C# File.Replace(String, String, String)用法及代码示例
- C# File.Copy(String, String)用法及代码示例
- C# File.AppendAllText(String, String)用法及代码示例
- C# File.AppendAllText(String, String, Encoding)用法及代码示例
- C# File.WriteAllText(String, String)用法及代码示例
- C# File.WriteAllText(String, String, Encoding)用法及代码示例
- C# File.WriteAllLines(String, String[], Encoding)用法及代码示例
- C# File.WriteAllLines(String, String[])用法及代码示例
- C# File.WriteAllLines(String, IEnumerable<String>, Encoding)用法及代码示例
- C# File.WriteAllLines(String, IEnumerable<String>)用法及代码示例
- C# File.AppendAllLines(String, IEnumerable<String>, Encoding)用法及代码示例
- C# File.AppendAllLines(String, IEnumerable<String>)用法及代码示例
注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 File.Copy(String, String, Boolean) Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。