讓我們看看如何建立一個 C# 程式來根據檔案內容建立字串。字串是文件處理的一個組成部分。 C# 中的字串是一系列字母。例如,「TutorialsPoint」是一個包含't' 'u' 't' 'o' 'r' 'i' 'a' 'l' 's' 'p' 'o' 'i' 'n' 't 的字串' 作為字元。我們使用 string 關鍵字來建立一個字串。
通俗地說,檔案處理或檔案管理是各種過程,例如建立檔案、讀取檔案、寫入檔案、附加檔案等。文件的檢視和寫入是文件管理中最常見的兩個操作。 C# 中的 System.IO 類別包括處理輸入和輸出流的類別。
字串建立是檔案處理的關鍵部分。在這裡,讀取完整的文本,然後將其傳輸到字串中。有兩種方法可以根據文件的內容建立字串。在接下來的部分中,我們將看到讀取檔案內容並將其傳輸到字串中的兩種方法。
這是第一個以字串形式讀取檔案所有內容的方法。這裡,使用 File.ReadAllText() 方法。 File.ReadAllText() 從檔案中讀取所有內容,然後將內容傳輸到字串中。文件的編碼由 File.ReadAllText() 自動決定。文件的編碼由其重載版本決定。好吧,定義編碼,它是一種編號系統,允許為字元集中的每個書面字元提供數值。字母、數字和其他符號中的字元都可以在字元集中找到。
在執行開啟檔案的命令時,如果找不到原始檔案或發生任何其他類型的 I/O 錯誤,則會拋出 IOException。如果文件的輸入和輸出出現任何問題,就會發生這種情況。
下面的演算法將給出使用 File.ReadAllText() 方法從檔案內容建立字串的逐步過程。
例如,如果我們必須從文件中讀取所有內容,然後將內容傳輸到字串,那麼我們應該提供其精確的演算法,如下所示 -
第 1 步 − 建立一個實例 fileName 以從檔案中讀取並提供位址。
第 2 步 − 使用 File.ReadAllText 讀取並顯示檔案中的文字行並將其儲存在文字中。
第 3 步 − 透過使用 catch,我們嘗試在發生任何錯誤時捕獲錯誤。
第 4 步 −如果有任何錯誤,則儲存在 e 中,然後顯示。
第 5 步 −透過使用 Console.Readkey(),我們在最後停止了程式的執行。
以下是顯示該範例的程式碼片段。
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; try { // Display the lines that are read from the file string text = File.ReadAllText(fileName); Console.WriteLine(text); } catch (Exception e) { // Displays the error on the screen. Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } Console.ReadKey(); } }
Input is completed
這裡,首先將路徑提供給一個字串,然後從該位址傳遞並開啟該字串。然後將整個內容複製到創建的字串中。如果無法開啟文件,則會發生錯誤,並且螢幕上會顯示混亂的訊息。還有另一種方法可以使用 SteamReader 類別來執行此操作。讓我們也這樣吧。
File.ReadAllText() 的替代解決方案是 SteamReader.ReadToEnd()。這也會一次性讀取完整的文件,然後將內容複製到字串中。 Steam.Reader 使用 File.OpenText 方法來執行此操作。然後ReadToEnd()方法一次讀取使用者提到的完整檔案。 SteamReader 物件的工作完成後,會像 Destructor() 一樣自動呼叫 Dispose() 方法,並重新整理/清除流。
下面的演算法將提供使用 SteamReader.ReadToEnd() 方法從檔案內容建立字串的逐步過程。
例如,如果我們必須從文件中讀取所有內容,然後將內容傳輸到字串,那麼我們應該提供其精確的演算法,如下所示 -
第 1 步 − 建立一個實例 fileName 以從檔案中讀取並提供位址。
第 2 步− 建立 StreamReader 的實例以從檔案中讀取內容。
第 3 步 − 使用 SteamReader.ReadToEnd() 从文件中读取文本行并将其存储在变量文本中。
第 4 步 − 现在我们使用 Console.Writeline() 写入文本数据。
第 5 步 −通过使用 Console.Readkey(),我们在最后停止了程序的执行。
现在,让我们看看代码。
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; // Creating an instance strRead of StreamReader for reading text from the given file using (StreamReader strRead = File.OpenText(fileName)) { string text = strRead.ReadToEnd(); Console.WriteLine(text); } Console.ReadKey(); } }
Input is completed
当我们使用 File.OpenText() 时,它默认打开一个现有的 UTF-8 编码文件。要访问具有不同字符编码的文件,需要使用接受替代字符编码的 StreamReader 类构造函数。
The given example creates a new ASCII StreamReader from a file with byte order mark recognition set to true.
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; // Creating an instance strRead of StreamReader for reading text from the given file using (StreamReader strRead = new StreamReader(fileName, Encoding.ASCII, true)) { string text = strRead.ReadToEnd(); Console.WriteLine(text); } Console.ReadKey(); } }
Input is completed
在这两个代码中,如果我们看到没有循环,因为我们只是创建一个实例来读取文件。然后将文件的所有内容复制到字符串中。对于 File.ReadAllText() 方法,时间复杂度为 O(1)。类似地,在 SteamReader.ReadToEnd() 方法中,时间复杂度为 O(1)。
在本文中,我们广泛讨论了从文件内容创建字符串的 C# 程序。首先,我们讨论了字符串,然后讨论了将文件的完整内容读取到字符串中的不同类型的方法。我们希望本文能够帮助您增强有关 C# 的知识。
以上是從檔案內容建立字串的 C# 程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!