Dateihandhabung in C#: E/A Operationen [Beispiele]
C# verfügt über eine breite Palette von Dateioperationen. Zu diesen Operationen gehören das Öffnen einer Datei sowie das Lesen oder Schreiben in eine Datei. Es kann Fälle geben, in denen Sie direkt mit Dateien arbeiten möchten. In diesem Fall verwenden Sie die in C# verfügbaren Dateioperationen. Einige der grundlegenden Dateioperationen sind unten aufgeführt.
- Lesen – Dieser Vorgang ist der grundlegende Lesevorgang, bei dem Daten aus einer Datei gelesen werden.
- Schreiben – Dieser Vorgang ist der grundlegende Schreibvorgang, bei dem Daten in eine Datei geschrieben werden. Standardmäßig werden alle vorhandenen Inhalte aus der Datei entfernt und neue Inhalte geschrieben.
- Anhängen – Auch bei diesem Vorgang werden Informationen in eine Datei geschrieben. Der einzige Unterschied besteht darin, dass die vorhandenen Daten einer Datei nicht überschrieben werden. Die neu zu schreibenden Daten werden am Ende der Datei hinzugefügt.
Grundlegende E/A-Befehle
C# und .Net können mithilfe mehrerer Datei-I/O-Befehle mit Dateien arbeiten. Schauen wir uns einige dieser Befehle an. Für unser Beispiel gehen wir davon aus, dass wir im Laufwerk D eine Datei namens „Example.txt“ haben.
Die Datei ist eine einfache Textdatei und besteht aus zwei Zeilen, wie unten gezeigt
- Guru99 – .Net
- Guru99 -C#
Für unser Beispiel erstellen wir eine einfache Konsolenanwendung und arbeiten mit unseren Datei-I/O-Befehlen. Die Konsolenanwendung ist die Basisanwendung, die im vorherigen Tutorial erstellt wurde. In der Konsolenanwendung wird der gesamte Code in die Datei program.cs geschrieben.
Datei existiert
Mit der Methode „Datei vorhanden“ wird überprüft, ob eine bestimmte Datei vorhanden ist. Sehen wir uns nun den Code an, mit dem überprüft werden kann, ob unsere Datei „Example.txt“ existiert oder nicht. Geben Sie den folgenden Code in die Datei program.cs ein.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; if (File.Exists(path)) { Console.WriteLine("File Exists"); } Console.ReadKey(); } } }
Code-Erklärung:-
- Zuerst legen wir eine String-Variable mit dem Pfad zu unserer Datei „Example.txt“ fest.
- Als nächstes verwenden wir die Methode File.Exists, um zu überprüfen, ob die Datei existiert oder nicht. Wenn die Datei vorhanden ist, wird ein wahrer Wert zurückgegeben.
- Wenn wir einen wahren Wert erhalten und die Datei existiert, schreiben wir die Meldung „File Exists“ in die Konsole.
Wenn der obige Code festgelegt und das Projekt mit Visual Studio ausgeführt wird, erhalten Sie die folgende Ausgabe.
Ausgabe:-
Aus der obigen Ausgabe können Sie ersehen, dass der Befehl File.Exists erfolgreich ausgeführt wurde und die richtige Meldung im Konsolenfenster angezeigt wurde.
File.ReadAlllines
Die Methode wird verwendet, um alle Zeilen einzeln in einer Datei zu lesen. Die Zeilen werden dann in einer String-Array-Variablen gespeichert. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String[] lines; lines = File.ReadAllLines(path); Console.WriteLine(lines[0]); Console.WriteLine(lines[1]); Console.ReadKey(); } } }
Code-Erklärung:-
- Zuerst deklarieren wir eine String-Array-Variable. Dies wird zum Speichern des Ergebnisses verwendet, das von der File.ReadAllLines-Methode zurückgegeben wird.
- Als nächstes verwenden wir die Methode File.ReadAllLines, um alle Zeilen aus unserer Textdatei zu lesen. Das Ergebnis wird dann an die Zeilenvariable übergeben.
- Da wir wissen, dass unsere Datei nur 2 Zeilen enthält, können wir über die Befehle „lines[0]“ und „lines[1]“ auf den Wert der Array-Variablen zugreifen.
Wenn der obige Code festgelegt ist und das Projekt mit ausgeführt wird Visual Studio, erhalten Sie die folgende Ausgabe.
Ausgabe:-
Anhand der Ausgabe können Sie erkennen, dass der Befehl „File.ReadAllLines“ beide Zeilen aus unserer Datei „Example.txt“ zurückgegeben hat
Datei.ReadAllText
Mit dieser Methode werden alle Zeilen einer Datei auf einmal gelesen. Die Zeilen werden dann in einer String-Variablen gespeichert. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String lines; lines = File.ReadAllText(path); Console.WriteLine(lines); Console.ReadKey(); } } }
Code-Erklärung:-
- Zuerst deklarieren wir eine String-Variable namens Lines. Dies wird zum Speichern des Ergebnisses verwendet, das von der File.ReadAllText-Methode zurückgegeben wird.
- Als nächstes verwenden wir die Methode File.ReadAllText, um alle Zeilen aus unserer Textdatei zu lesen. Das Ergebnis wird dann an die Zeilenvariable übergeben.
- Wir können die Console.Writeline-Methode direkt verwenden, um den Wert der Lines-Variablen anzuzeigen.
Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgeführt wird, erhalten Sie die folgende Ausgabe.
Ausgabe:-
Anhand der Ausgabe können Sie erkennen, dass der Befehl „File.ReadAlltext“ beide Zeilen aus unserer Datei „Example.txt“ zurückgegeben hat
Datei.Kopieren
Die Methode wird verwendet, um eine Kopie einer vorhandenen Datei zu erstellen. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; String copypath = @"D:\ExampleNew.txt"; File.Copy(path,copypath); Console.ReadKey(); } } }
Code-Erklärung:-
- Zuerst deklarieren wir eine String-Variable namens Pfad. Dies ist der Speicherort unserer Datei Example.txt. Diese Datei ist die Quelldatei, die für den Kopiervorgang verwendet wird.
- Als nächstes deklarieren wir eine String-Variable namens copypath. Dies ist der Speicherort einer neuen Datei namens „ExampleNew.txt“. Dies ist die Zieldatei, in die der Inhalt aus der Quelldatei „Example.txt“ geschrieben wird.
- Anschließend rufen wir die Methode File.Copy auf, um die Datei „Example.txt“ in die Datei „ExampleNew.txt“ zu kopieren.
Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgeführt wird, wird die Datei Example.txt nach ExampleNew.txt kopiert.
Datei.Löschen
Die Methode dient zum Löschen einer vorhandenen Datei. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { static void Main(string[] args) { String path = @"D:\Example.txt"; File.Delete(path); Console.ReadKey(); } } }
Code-Erklärung:-
- Zuerst deklarieren wir eine String-Variable namens path. Dies ist der Speicherort unserer Datei „Example.txt“. Dies ist die Datei, die gelöscht wird.
- Als nächstes rufen wir die Methode File.Delete auf, um die Datei zu löschen.
Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgeführt wird, wird die Datei Example.txt vom Laufwerk D gelöscht.
Zusammenfassung
- C# verfügt über eine Reihe von Dateioperationen, die an Dateien ausgeführt werden können. Die meisten dieser Operationen sind Teil der Klasse File.
- Wenn Sie Daten aus einer Datei lesen möchten, können Sie die Methoden File.ReadAlltext oder File.ReadAllLines verwenden.
Dateimethode | Beschreibung |
---|---|
Datei existiert | Mit der Methode „Datei vorhanden“ wird überprüft, ob eine bestimmte Datei vorhanden ist. |
File.ReadAlllines | Die Methode wird verwendet, um alle Zeilen einzeln in einer Datei zu lesen. |
Datei.ReadAllText | Mit dieser Methode werden alle Zeilen einer Datei auf einmal gelesen. |
Datei.Kopieren | Die Methode wird verwendet, um eine Kopie einer vorhandenen Datei zu erstellen. |
Datei.Löschen | Die Methode dient zum Löschen einer vorhandenen Datei. |