C # - Datei-E / A.
EIN fileist 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 einerstream.
Der Stream ist im Grunde die Folge von Bytes, die den Kommunikationspfad durchlaufen. Es gibt zwei Hauptströme: deninput stream und das output stream. Das input stream wird zum Lesen von Daten aus Dateien (Lesevorgang) und dem verwendet output stream wird zum Schreiben in die Datei verwendet (Schreibvorgang).
C # E / A-Klassen
Der System.IO-Namespace verfügt über verschiedene Klassen, die zum Ausführen zahlreicher Vorgänge mit Dateien verwendet werden, z. B. zum Erstellen und Löschen von Dateien, zum Lesen oder Schreiben aus einer Datei, zum 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 & 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 Bytestrom. |
4 | Directory Hilft bei der Bearbeitung einer Verzeichnisstruktur. |
5 | DirectoryInfo Wird zum Ausführen von Vorgängen für Verzeichnisse verwendet. |
6 | DriveInfo Bietet Informationen zu den Laufwerken. |
7 | File Hilft bei der Bearbeitung von Dateien. |
8 | FileInfo Wird zum Ausführen von Operationen an Dateien verwendet. |
9 | FileStream Wird zum Lesen und Schreiben an einen beliebigen Ort in einer Datei verwendet. |
10 | MemoryStream Wird für den wahlfreien Zugriff auf im Speicher gespeicherte gestreamte Daten verwendet. |
11 | Path Führt Operationen an Pfadinformationen aus. |
12 | StreamReader Wird zum Lesen von Zeichen aus einem Bytestream verwendet. |
13 | StreamWriter Wird zum Schreiben von Zeichen in einen Stream verwendet. |
14 | StringReader Wird zum Lesen aus einem String-Puffer verwendet. |
15 | StringWriter Wird zum Schreiben in einen Zeichenfolgenpuffer verwendet. |
Die FileStream-Klasse
Das FileStreamDie Klasse im System.IO-Namespace hilft beim Lesen, Schreiben und Schließen von Dateien. Diese Klasse leitet sich von der abstrakten Klasse Stream ab.
Sie müssen eine erstellen FileStreamObjekt, um eine neue Datei zu erstellen oder eine vorhandene Datei zu öffnen. Die Syntax zum Erstellen einesFileStream Objekt ist wie folgt -
FileStream <object_name> = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);
Zum Beispiel erstellen wir ein FileStream-Objekt F zum Lesen einer Datei mit dem Namen sample.txt as shown - -
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read,
FileShare.Read);
Sr.Nr. | Parameter & Beschreibung |
---|---|
1 | FileMode Das FileModeEnumerator definiert verschiedene Methoden zum Öffnen von Dateien. Die Mitglieder des FileMode-Enumerators sind -
|
2 | FileAccess FileAccess Enumeratoren haben Mitglieder: Read, ReadWrite und Write. |
3 | FileShare FileShare Enumeratoren haben die folgenden Mitglieder -
|
Beispiel
Das folgende Programm demonstriert die Verwendung von FileStream Klasse -
using 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, ergibt sich 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 Dateivorgänge in C #
Das vorstehende Beispiel enthält einfache Dateioperationen in C #. Um jedoch die immensen Fähigkeiten von C # System.IO-Klassen nutzen zu können, müssen Sie die häufig verwendeten Eigenschaften und Methoden dieser Klassen kennen.
Sr.Nr. | Themenbeschreibung |
---|---|
1 | Lesen aus und Schreiben in Textdateien Es beinhaltet das Lesen und Schreiben in Textdateien. DasStreamReader und StreamWriter Klasse hilft, es zu erreichen. |
2 | Lesen aus und Schreiben in Binärdateien Es beinhaltet das Lesen und Schreiben in Binärdateien. DasBinaryReader und BinaryWriter Klasse hilft, dies zu erreichen. |
3 | Bearbeiten des Windows-Dateisystems Es gibt einem C # -Programmierer die Möglichkeit, Windows-Dateien und -Verzeichnisse zu durchsuchen und zu suchen. |