C# 檔案複製程式
簡介
C# 是一種高階語言,可以滿足程式設計師的廣泛需求。它也可以幫助複製檔案。因此,在本文中,我們將學習一個 C# 檔案複製程式。眾所周知,檔案複製屬於檔案處理的範疇。因此,在我們繼續之前,讓我們回顧一下檔案處理的定義。
檔案處理或檔案管理,簡單來說,就是各種處理過程,例如建立檔案、從中讀取、向其中寫入、追加等等。檔案的讀取和寫入是檔案處理中最常見的兩種操作。
複製的必要性和方法
複製檔案是計算機中一項非常重要的功能。各種語言都提供了這個功能,C# 也不例外。很多時候,使用者想要建立一個新檔案,其中包含舊檔案中相同的資料,然後向其中新增一些內容。如果使用者先寫入舊資料,然後再新增一些內容,則會花費大量時間。如果使用者可以簡單地將現有檔案資料複製到新檔案,然後新增一些內容,為什麼還要這樣做呢?因此,在這些棘手的情況下,複製檔案非常有用。檔案可以透過終端複製。要複製檔案,可以使用 Copy(String, String) 方法。
Copy(String, String)
此方法用於將現有檔案複製到新檔案。完整的檔案資料將複製到新檔案。以下是 copy(string, string) 方法的語法。
public static void Copy (string sourceFileName, string destFileName);
此方法禁止使用者覆蓋同名檔案。這裡有兩個字串引數。第一個字串獲取要複製的原始檔名。第二個字串是目標檔名,即將原始檔資料複製到的檔名。由於存在一個約束條件,即此目標檔名既不能是目錄,也不能是現有檔案。
此方法會丟擲多個異常。例如,當用戶的程式碼沒有訪問所需的許可權時,會發生 UnauthorizedAccessException 異常。當原始檔名或目標檔名包含一個或多個無效字元、只有空格,或者地址指定目錄時,該異常稱為 ArgumentException。當原始檔名或目標檔名為空時,會發生 ArgumentNullException 異常。
另一個 DirectoryNotFoundException 異常發生在原始檔名或目標檔名中提供的路徑不正確時。
PathTooLongException 異常發生在給定的路徑、檔名或兩者都超過系統設定的最大長度時。
如果找不到原始檔,則會丟擲 FileNotFoundException 異常。現在我們知道此方法禁止使用者覆蓋同名檔案。因此,當用戶嘗試這樣做時,會丟擲 IOException 異常(因為目標檔案已存在)或任何 I/O 錯誤。如果原始檔名或目標檔名格式無效,則會丟擲 NotSupportedException 異常。
現在讓我們討論演算法
演算法
使用此演算法,我們可以將原始檔複製到目標檔案。使用 File.Copy() 方法
步驟 1 − 宣告字串變數以儲存檔案的地址。
步驟 2 − 使用 File.Copy() 將內容從現有檔案複製到新檔案。
步驟 3 − 捕獲丟擲的異常的程式碼行。
步驟 4 − 檔案複製完成後顯示成功訊息。
示例
// A C# program for copying a file
//File.Copy() is used to copy the source file to the destination file
using System;
using System.IO;
using System.Text;
using System.Linq;
class ttpt {
public static void Main() {
// Address of both the files
string OriginalFile = @"D:\source.txt";
string FinalFile = @"D:\final.txt";
try {
// Method used to copy an existing file into a new file.
File.Copy(OriginalFile, FinalFile);
}
catch (IOException iox) {
// Exception message catching box
Console.WriteLine(iox.Message);
}
Console.WriteLine("Copying of contents from source to destination file is completed") ;
}
}
輸出
Copying of contents from source to destination file is completed
現在,如果使用者使用第三個引數(布林引數,值為 true 或 false)過載 File.Copy() 方法的語法,則此方法就可以在目標檔名已存在的情況下覆蓋檔案。
過載 File.Copy(String, String, Boolean)
此方法用於將現有檔案複製到新檔案。完整的檔案資料將複製到新檔案。以下是 copy(string, string, bool overwrite) 方法的語法。
public static void Copy (string sourceFileName, string destFileName, bool overwrite);
過載為 true 後,此方法允許使用者覆蓋同名檔案。
此方法會丟擲多個異常。例如,當用戶的程式碼沒有訪問所需的許可權時,會發生 UnauthorizedAccessException 異常。當原始檔名或目標檔名包含一個或多個無效字元、只有空格,或者地址指定目錄時,該異常稱為 ArgumentException。當原始檔名或目標檔名為空時,會發生 ArgumentNullException 異常。
另一個 DirectoryNotFoundException 異常發生在原始檔名或目標檔名中提供的路徑不正確時。
PathTooLongException 異常發生在給定的路徑、檔名或兩者都超過系統設定的最大長度時。
如果找不到原始檔,則會丟擲 FileNotFoundException 異常。
只有當發生 I/O 錯誤或過載的覆蓋部分為 false 且目標檔案已存在時,才會丟擲 IOException 異常。
現在讓我們討論演算法
演算法
使用此演算法,我們可以將原始檔複製到目標檔案。使用 File.Copy() 方法。
步驟 1 − 宣告字串變數以儲存檔案的地址。
步驟 2 − 使用過載為 true 的 File.Copy() 將內容從現有檔案複製到新檔案。
步驟 3 − 捕獲丟擲的異常的程式碼行。
步驟 4 − 檔案複製完成後顯示成功訊息。
示例
// A C# program for copying a file
//File.Copy() is used to copy the source file to the destination file
using System;
using System.IO;
using System.Text;
using System.Linq;
class ttpt {
public static void Main() {
// Address of both the files
string OriginalFile = @"D:\source.txt";
string FinalFile = @"D:\final.txt";
try {
// Method used to copy an existing file into a new file.
// By this if final already exists then it will be overwritten
File.Copy(OriginalFile, FinalFile, true);
}
catch (IOException iox){
// Exception message catching box
Console.WriteLine(iox.Message);
}
Console.WriteLine("Copying of contents from source to destination file is completed") ;
}
}
輸出
Copying of contents from source to destination file is completed
結論
因此,本文到此結束。在本文中,我們討論了 C# 檔案複製程式。我們以常規方式和過載方式使用了 File.Copy() 方法。我們討論了它們的語法、異常和演算法。然後我們看到了程式碼,並以此結束了本文。
希望本文能增強您對 C# 的瞭解。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP