File.Copy(String, String)是一個內置的 File 類方法,用於將現有源文件內容的內容複製到此函數創建的另一個目標文件。
用法:
public static void Copy (string sourceFileName, string destFileName);
參數:此函數接受兩個參數,如下所示:
- sourceFileName: This is the file from where data is copied.
- destFileName: This is the file where data is pasted. This cannot be a existing file or a directory.
異常:
- UnauthorizedAccessException:調用者沒有所需的權限。
- ArgumentException:源文件名或 destFileName 是一個長度為零的字符串,隻包含空格,或者包含一個或多個由 InvalidPathChars 定義的無效字符。或 sourceFileName 或 destFileName 指定一個目錄。
- ArgumentNullException:sourceFileName 或 destFileName 為空。
- PathTooLongException:給定的路徑、文件名或兩者都超過了 system-defined 的最大長度。
- DirectoryNotFoundException:源文件名或 destFileName 中給出的路徑無效(例如,它位於未映射的驅動器上)。
- FileNotFoundException:未找到源文件名。
- IOException:destFileName 存在。或發生了 I/O 錯誤。
- NotSupportedException:源文件名或 destFileName 的格式無效。
下麵是說明 File.Copy(String, String) 方法的程序。
程序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()
{
// Creating two files
string sourceFile = @"file.txt";
string destinationFile = @"gfg.txt";
try {
// Copying source file's contents to
// destination file
File.Copy(sourceFile, destinationFile);
}
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.
運行上麵的代碼後,上麵的輸出已經顯示出來,並創建了一個新的目標文件 gfg.txt,如下所示:
程序2:在運行下麵的代碼之前,創建了兩個文件,其中的一些內容如下所示:
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);
}
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# File.Replace(String, String, String)用法及代碼示例
- C# File.Replace(String, String, String, Boolean)用法及代碼示例
- 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.Copy(String, String, Boolean)用法及代碼示例
- C# File.AppendAllLines(String, IEnumerable<String>, Encoding)用法及代碼示例
- C# File.AppendAllLines(String, IEnumerable<String>)用法及代碼示例
- C# File.Create(String, Int32, FileOptions, FileSecurity)用法及代碼示例
- C# Int16.Parse(String)用法及代碼示例
- C# Int32.Parse(String)用法及代碼示例
- C# Int64.Parse(String)用法及代碼示例
- C# UInt16.Parse(String)用法及代碼示例
- C# UInt32.Parse(String)用法及代碼示例
- C# UInt64.Parse(String)用法及代碼示例
- C# String.Split()用法及代碼示例
- C# File.Open(String, FileMode, FileAccess)用法及代碼示例
- C# File.Open(String, FileMode, FileAccess, FileShare)用法及代碼示例
注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 File.Copy(String, String) Method in C# with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。