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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。