C# - Datei-E/A
Eine Datei ist eine Sammlung von Daten, die auf einer Festplatte mit einem bestimmten Namen und einem Verzeichnispfad gespeichert sind. Wenn eine Datei zum Lesen oder Schreiben geöffnet wird, wird sie zu einem Stream .
Der Stream ist im Grunde die Folge von Bytes, die den Kommunikationspfad durchlaufen. Es gibt zwei Hauptströme:den Eingabestrom und der Ausgabestrom . Der Eingabestream wird zum Lesen von Daten aus der Datei (Leseoperation) und dem Ausgabestrom verwendet wird zum Schreiben in die Datei verwendet (Write Operation).
C#-E/A-Klassen
Der System.IO-Namespace hat verschiedene Klassen, die zum Ausführen zahlreicher Operationen mit Dateien verwendet werden, wie z. B. das Erstellen und Löschen von Dateien, das Lesen oder Schreiben in eine Datei, das Schließen einer Datei usw.
Die folgende Tabelle zeigt einige häufig verwendete nicht abstrakte Klassen im System.IO-Namespace −
Sr.Nr. | E/A-Klasse und -Beschreibung |
---|---|
1 | BinaryReader Liest primitive Daten aus einem Binärstrom. |
2 | BinaryWriter Schreibt primitive Daten im Binärformat. |
3 | BufferedStream Ein temporärer Speicher für einen Strom von Bytes. |
4 | Verzeichnis Hilft bei der Manipulation einer Verzeichnisstruktur. |
5 | Verzeichnisinfo Wird zum Ausführen von Operationen in Verzeichnissen verwendet. |
6 | DriveInfo Stellt Informationen für die Laufwerke bereit. |
7 | Datei Hilft bei der Manipulation von Dateien. |
8 | Dateiinfo Wird zum Ausführen von Operationen an Dateien verwendet. |
9 | FileStream Wird zum Lesen und Schreiben an jeder Stelle in einer Datei verwendet. |
10 | MemoryStream Wird für den wahlfreien Zugriff auf im Speicher gespeicherte gestreamte Daten verwendet. |
11 | Pfad Führt Operationen mit Pfadinformationen aus. |
12 | StreamReader Wird zum Lesen von Zeichen aus einem Bytestrom verwendet. |
13 | StreamWriter Wird zum Schreiben von Zeichen in einen Stream verwendet. |
14 | StringReader Wird zum Lesen aus einem Stringpuffer verwendet. |
15 | StringWriter Wird zum Schreiben in einen Stringpuffer verwendet. |
Die FileStream-Klasse
Der FileStream -Klasse im System.IO-Namespace hilft beim Lesen, Schreiben und Schließen von Dateien. Diese Klasse leitet sich von der abstrakten Klasse Stream.
abSie müssen einen FileStream erstellen -Objekt, um eine neue Datei zu erstellen oder eine vorhandene Datei zu öffnen. Die Syntax zum Erstellen eines FileStream Objekt ist wie folgt −
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);
Beispielsweise erstellen wir ein FileStream-Objekt F zum Lesen einer Datei namens sample.txt wie gezeigt −
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
Sr.No. | Parameter &Beschreibung |
---|---|
1 | Dateimodus Der Dateimodus Enumerator definiert verschiedene Methoden zum Öffnen von Dateien. Die Mitglieder des FileMode-Enumerators sind −
|
2 | Dateizugriff Dateizugriff Enumeratoren haben Mitglieder:Lesen , LesenSchreiben und Schreiben . |
3 | FileShare FileShare Enumeratoren haben die folgenden Mitglieder −
|
Beispiel
Das folgende Programm demonstriert die Verwendung von FileStream Klasse −
Live-Demousing System; using System.IO; namespace FileIOApplication { class Program { static void Main(string[] args) { FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite); for (int i = 1; i <= 20; i++) { F.WriteByte((byte)i); } F.Position = 0; for (int i = 0; i <= 20; i++) { Console.Write(F.ReadByte() + " "); } F.Close(); Console.ReadKey(); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er das folgende Ergebnis −
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1
Erweiterte Dateioperationen in C#
Das vorherige Beispiel stellt einfache Dateioperationen in C# bereit. Um jedoch die immense Leistungsfähigkeit von C#-System.IO-Klassen nutzen zu können, müssen Sie die häufig verwendeten Eigenschaften und Methoden dieser Klassen kennen.
Sr.No. | Thema &Beschreibung |
---|---|
1 | Lesen und Schreiben in Textdateien Es beinhaltet das Lesen und Schreiben in Textdateien. Der StreamReader und StreamWriter Klasse hilft dabei. |
2 | Lesen und Schreiben in Binärdateien Es beinhaltet das Lesen und Schreiben in Binärdateien. Der BinaryReader und BinaryWriter Klasse hilft dabei. |
3 | Manipulation des Windows-Dateisystems Es gibt einem C#-Programmierer die Möglichkeit, Windows-Dateien und -Verzeichnisse zu durchsuchen und zu finden. |
C Sprache