Sehen wir uns an, wie man ein C#-Programm erstellt, um eine Zeichenfolge basierend auf dem Dateiinhalt zu erstellen. Zeichenfolgen sind ein wesentlicher Bestandteil der Dateiverarbeitung. Ein String in C# ist eine Folge von Buchstaben. Beispielsweise ist „TutorialsPoint“ ein Wert, der „t“ „u“ „t“ „o“ „r“ „i“ „a“ „l“ „s“ „p“ „o“ „i“ „n“ enthält. t String ' als Zeichen. Wir verwenden das Schlüsselwort string, um eine Zeichenfolge zu erstellen.
Laienhaft ausgedrückt sind Dateiverarbeitung oder Dateiverwaltung verschiedene Prozesse wie das Erstellen von Dateien, das Lesen von Dateien, das Schreiben von Dateien, das Anhängen von Dateien usw. Das Anzeigen und Schreiben von Dateien gehören zu den häufigsten Vorgängen bei der Dateiverwaltung. Die Kategorie System.IO in C# umfasst Klassen, die Eingabe- und Ausgabestreams verarbeiten.
Die Erstellung von Zeichenfolgen ist ein wichtiger Teil der Dateiverarbeitung. Dabei wird der komplette Text gelesen und in einen String übertragen. Es gibt zwei Möglichkeiten, aus dem Inhalt einer Datei eine Zeichenfolge zu erstellen. In den nächsten Abschnitten werden wir zwei Möglichkeiten sehen, den Inhalt einer Datei zu lesen und in einen String zu übertragen.
Dies ist die erste Methode, den gesamten Inhalt einer Datei als String zu lesen. Hier wird die Methode File.ReadAllText() verwendet. File.ReadAllText() liest den gesamten Inhalt aus der Datei und überführt den Inhalt in einen String. Die Kodierung der Datei wird automatisch von File.ReadAllText() bestimmt. Die Kodierung der Datei wird durch ihre überladene Version bestimmt. Nun, bei der Definition der Codierung handelt es sich um ein Nummerierungssystem, das es ermöglicht, jedem geschriebenen Zeichen in einem Zeichensatz einen numerischen Wert zuzuweisen. In Zeichensätzen finden sich Zeichen aus Buchstaben, Zahlen und anderen Symbolen.
Während der Ausführung eines Befehls zum Öffnen einer Datei wird eine IOException ausgelöst, wenn die Quelldatei nicht gefunden wird oder ein anderer E/A-Fehler auftritt. Dies kann passieren, wenn es Probleme bei der Ein- und Ausgabe der Datei gibt.
Der folgende Algorithmus zeigt den Schritt-für-Schritt-Prozess zum Erstellen einer Zeichenfolge aus Dateiinhalten mithilfe der Methode File.ReadAllText().
Wenn wir beispielsweise alles aus einer Datei lesen und den Inhalt dann in einen String übertragen müssen, sollten wir den genauen Algorithmus wie unten gezeigt bereitstellen –
Schritt 1 −Erstellen Sie eine Instanz von fileName, um sie aus der Datei zu lesen und mit einer Adresse zu versehen.
Schritt 2 − Verwenden Sie File.ReadAllText, um Textzeilen aus der Datei zu lesen, anzuzeigen und sie im Text zu speichern.
Schritt 3 − Durch die Verwendung von Catch versuchen wir, den Fehler abzufangen, wenn ein Fehler auftritt.
Schritt 4 −Wenn ein Fehler auftritt, speichern Sie ihn in e und zeigen Sie ihn dann an.
Schritt 5 −Durch die Verwendung von Console.Readkey() stoppen wir am Ende die Ausführung des Programms.
Das Folgende ist ein Codeausschnitt, der das Beispiel zeigt.
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
Hier wird zuerst der Pfad zu einem String angegeben und dann wird der String übergeben und von dieser Adresse aus geöffnet. Kopieren Sie dann den gesamten Inhalt in die erstellte Zeichenfolge. Wenn die Datei nicht geöffnet werden kann, tritt ein Fehler auf und auf dem Bildschirm werden verwirrende Meldungen angezeigt. Es gibt eine andere Möglichkeit, dies mithilfe der SteamReader-Klasse zu tun. Lasst uns das Gleiche tun.
Eine alternative Lösung zu File.ReadAllText() ist SteamReader.ReadToEnd(). Dadurch wird auch die gesamte Datei auf einmal gelesen und der Inhalt in einen String kopiert. Steam.Reader verwendet dazu die File.OpenText-Methode. Anschließend liest die Methode ReadToEnd() die komplette vom Benutzer genannte Datei auf einmal. Sobald die Arbeit des SteamReader-Objekts abgeschlossen ist, wird die Dispose()-Methode automatisch wie Destructor() aufgerufen und der Stream geleert/geleert.
Der folgende Algorithmus bietet einen schrittweisen Prozess zum Erstellen einer Zeichenfolge aus Dateiinhalten mithilfe der SteamReader.ReadToEnd()-Methode.
Wenn wir beispielsweise alles aus einer Datei lesen und den Inhalt dann in einen String übertragen müssen, sollten wir den genauen Algorithmus wie unten gezeigt bereitstellen –
Schritt 1 −Erstellen Sie eine Instanz von fileName, um sie aus der Datei zu lesen und mit einer Adresse zu versehen.
Schritt 2− Erstellen Sie eine Instanz von StreamReader, um Inhalte aus der Datei zu lesen.
第 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# 的知识。
Das obige ist der detaillierte Inhalt vonC#-Programm zum Erstellen einer Zeichenfolge aus Dateiinhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!