將文字附加到現有文件的 C# 程序
簡介
追加是指在已經寫好的文件中加入資訊。在這裡,我們將學習編寫一個 C# 程式將文字附加到現有文件中。眾所周知,文件處理是在 C# 中完成的。大多數情況下,文件用於儲存資料。通俗地說,文件處理或文件管理是各種過程,例如建立文件、讀取文件、寫入文件、附加文件等等。
僅適用於現有文件?
眾所周知,附加通常意味著在已經編寫的文檔中添加一條資訊。但是如果我們嘗試存取的文件不存在怎麼辦?假設我們正在搜尋一個名為「madrid.txt」的檔案來附加它。如果指定目錄中存在該文件,則附加該文件。但是如果檔案「madrid.txt」不存在怎麼辦?然後,程式會建立一個名為「madrid.txt」的新文件,您可以在其中新增資訊。因此,當我們嘗試以追加模式開啟文件時,如果該特定文件不存在,則會建立新的空文件,其名稱與我們要追加的文件的名稱相同。
1。 File.AppendAllText(String, String) 方法
File.AppendAllText() 方法是解決追加到現有檔案問題的一個非常常見的解決方案。該方法來自 File 類別。該方法的語法如下。
public static void AppendAllText (string path, string? contents);
在語法中,第一個字串包含我們要附加的檔案的路徑。之後,我們要新增到文件中的資訊如下。這也可能引發一些異常。如果我們嘗試存取該檔案的目錄不存在,則會拋出 DriectoryNotFoundException。另一個主要拋出的例外是 UnauthorizedAccessException。當程式設計師嘗試存取的檔案是唯讀檔案或指定的路徑指向目錄而不是檔案時,就會發生這種情況。
使用此方法時,無論拋出異常,檔案句柄都會關閉。
演算法
現在,我們將討論建立一個程式以使用 File.AppendAllText() 將資訊新增至檔案的演算法。
第 1 步 - 首先,我們建立一個字串來儲存要附加的檔案的位址,然後提供檔案的位址。
步驟 2 - 然後我們使用 FileAppendAllText() 以追加模式開啟檔案並將特定文字新增至檔案。如果該檔案不存在,則會使用該名稱建立新檔案並新增文字。
步驟 3 - 最後,從檔案中讀取文本,以便我們可以看到檔案已附加,然後程式退出。
範例
// A program to append the file using System; using System.IO; public class Program { public static void Main() { string loca = @"D:\madrid.txt"; // Adding the text to the madrid.txt file File.AppendAllText(loca, Environment.NewLine + "UCL"); // Reading the text from the madrid.txt file string txtappd = File.ReadAllText(loca); Console.WriteLine(txtappd); } }
輸出
UCL
因此,提供了文件的路徑,然後該方法打開指定的文件,添加程式設計師想要的信息,然後關閉該文件。很簡單,但是如果我們想將一個文件的全部內容複製到我們想要的文件中呢?是的,這個方法也解決了我們複製文件的問題。現在是討論演算法的時候了。
演算法
演算法是關於使用 File.AppendAllText() 的。
第 1 步 - 建立一個用於儲存來源檔案位址的字串。
步驟 2 - 建立另一個字串來儲存目標檔案的位址。
步驟 3 - File.Readlines() 用於複製字串中的來源檔案。
步驟 4 - 檔案由 File.AppendAllText() 以附加模式開啟。然後添加文字。
步驟 5 - 程式完成後退出。
範例
// A program to append the file using System; using System.Collections.Generic; using System.IO; public class Program { public static void Main() { string sttr1 = @"D:\trophies.txt"; string sttr2 = @"D:\madrid.txt"; // Copying all the text from the source file in a string and then adding to the destination file IEnumerable<string> inform = File.ReadLines(sttr1); File.AppendAllLines(sttr2, inform); } }
現在讓我們看看另一種方法。
2。 File.AppendText() 方法
SteamWriter 類別是一個非常通用的類別。它提供了很多寫入文件的方法。 WriteLine() 或 Write() 是可用於新增文字文字的不同方法。
public static System.IO.StreamWriter AppendText (string path);
可以使用 File.AppendAllText() 方法建立 StreamWriter 實例,該方法將文字以 UTF-8 編碼附加到現有檔案中。如果指定的檔案不存在,它也會建立一個新檔案。
如果我們嘗試存取該檔案的目錄不存在,則會拋出 DriectoryNotFoundException。另一個主要拋出的例外是 UnauthorizedAccessException。當程式設計師嘗試存取的檔案是唯讀檔案或指定的路徑指向目錄而不是檔案時,就會發生這種情況。
演算法
現在,我們將討論建立一個程式以使用 File.AppendText() 將資訊新增至檔案的演算法。
第 1 步 - 首先,我們建立一個字串來儲存要附加的檔案的位址,然後提供檔案的位址。
第 2 步 - 現在,我們建立 StreamReader 的實例。此步驟以追加模式開啟檔案並為檔案新增文字。我們使用 File.AppendText() 來新增文字。
StreamReader.Write() 方法用來追加。如果使用者想要附加文本,然後在末尾新增行終止符。使用 StreamReader.WriteLine() 方法。
步驟 3 - 程式完成後退出。
示例
// A program to append the file using System; using System.IO; public class Program { public static void Main() { string loca = @"D:\madrid.txt"; // Adding the text to the specified file using (StreamWriter sw = File.AppendText(loca)) { sw.Write("UCL"); //use sw.WriteLine(If you want to add line termination) } // Read the text from the appended file string txtappd = File.ReadAllText(loca); Console.WriteLine(txtappd); } }
输出
UCL
StreamWriter(String, Boolean) 构造函数重载版本也相当于 File.AppendText()。而对于布尔参数,我们使用 true。
StreanWriter 算法(字符串、布尔值)
现在,我们将讨论创建一个程序以使用 StreamWriter(String, Boolean) 将信息添加到文件的算法。
第 1 步 - 首先,我们创建一个字符串来存储要附加的文件的地址,然后提供文件的地址
第 2 步− 现在,我们创建 StreamReader 的实例。此步骤以追加模式打开文件并向文件添加文本。我们使用新的 Streamwriter() 来添加信息。在这里,我们使用 StreamReader.Write() 方法进行追加。但如果我们需要附加文本,然后在末尾添加行终止符,那么我们可以使用 StreamReader.WriteLine() 方法。
第 3 步− 最后,从文件中读取文本,以便我们可以看到文件已附加,然后程序退出。
示例
// A program to append the file using System; using System.IO; public class Program { public static void Main() { string loca = @"D:\madrid.txt"; // Adding the text to the specified file using (StreamWriter sw = new StreamWriter(loca, true)) { sw.Write("UCL"); //use sw.WriteLine(If you want to add line termination) } // Read the text from the appended file string txtappd = File.ReadAllText(loca); Console.WriteLine(txtappd); } }
输出
UCL
时间复杂度
由于在这两个进程中,我们都使用文件处理。在第一个算法中,我们使用 File.AppendAllText(),在第二个算法中,我们使用 File.AppendText(),它们都只是附加文件。他们正在获取新文本并将其添加到文件末尾。所以,这两种方法的时间复杂度都是O(1)。
结论
在本文中,我们讨论了将文本附加到现有文件的不同方法。首先我们讨论了是否需要以及是否只能对现有文件进行。然后我们讨论了追加File.AppendAllText()和File.AppendText()的方法。最后,我们讨论了算法和算法的代码。
我们希望本文能够帮助您增强有关 C# 的知识。
以上是將文字附加到現有文件的 C# 程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

C 語言中符號的使用方法涵蓋算術、賦值、條件、邏輯、位運算符等。算術運算符用於基本數學運算,賦值運算符用於賦值和加減乘除賦值,條件運算符用於根據條件執行不同操作,邏輯運算符用於邏輯操作,位運算符用於位級操作,特殊常量用於表示空指針、文件結束標記和非數字值。

在 C 語言中,char 類型在字符串中用於:1. 存儲單個字符;2. 使用數組表示字符串並以 null 終止符結束;3. 通過字符串操作函數進行操作;4. 從鍵盤讀取或輸出字符串。

C語言中通過轉義序列處理特殊字符,如:\n表示換行符。 \t表示製表符。使用轉義序列或字符常量表示特殊字符,如char c = '\n'。注意,反斜杠需要轉義兩次。不同平台和編譯器可能有不同的轉義序列,請查閱文檔。

多線程和異步的區別在於,多線程同時執行多個線程,而異步在不阻塞當前線程的情況下執行操作。多線程用於計算密集型任務,而異步用於用戶交互操作。多線程的優勢是提高計算性能,異步的優勢是不阻塞 UI 線程。選擇多線程還是異步取決於任務性質:計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。

在 C 語言中,char 和 wchar_t 的主要區別在於字符編碼:char 使用 ASCII 或擴展 ASCII,wchar_t 使用 Unicode;char 佔用 1-2 個字節,wchar_t 佔用 2-4 個字節;char 適用於英語文本,wchar_t 適用於多語言文本;char 廣泛支持,wchar_t 依賴於編譯器和操作系統是否支持 Unicode;char 的字符範圍受限,wchar_t 的字符範圍更大,並使用專門的函數進行算術運算。

在 C 語言中,char 類型轉換可以通過:強制類型轉換:使用強制類型轉換符將一種類型的數據直接轉換為另一種類型。自動類型轉換:當一種類型的數據可以容納另一種類型的值時,編譯器自動進行轉換。

char 和 unsigned char 是存儲字符數據的兩種數據類型,主要區別在於處理負數和正數的方式:值範圍:char 有符號 (-128 到 127),unsigned char 無符號 (0 到 255)。負數處理:char 可以存儲負數,unsigned char 不能。位模式:char 最高位表示符號,unsigned char 無符號位。算術運算:char 和 unsigned char 作為有符號和無符號類型,其算術運算方式不同。兼容性:char 和 unsigned char

C語言中char的使用錯誤和避免方法:未初始化char變量:使用常量或字符串文字初始化。超出字符範圍:比較變量值是否在有效範圍內(-128 到 127)。字符比較不區分大小寫:使用toupper()或tolower()轉換字符大小寫。使用char*引用字符數組時未加'\0':使用strlen()或手動添加'\0'標記數組結尾。使用char數組時忽略數組大小:明確指定數組大小或使用sizeof()確定長度。使用char指針時未檢查空指針:使用前檢查指針是否為NULL。使用char指針指向非字符數據
