c filestream streamwriter
In diesem Tutorial erfahren Sie mehr über System.IO, einen C # -Namensraum. Dieser Namespace bietet C # -Klassen wie FileStream, StreamWriter und StreamReader zur Verarbeitung von Datei-E / A:
Wie benutzt man eine Bin-Datei?
Eine Datei ist im Grunde ein Systemobjekt, das im Speicher eines bestimmten Verzeichnisses mit einem richtigen Namen und einer richtigen Erweiterung gespeichert ist. In C # rufen wir eine Datei als Stream auf, wenn wir sie zum Schreiben oder Lesen von Daten verwenden.
In diesem Tutorial werden sowohl der Eingabestream, mit dem Daten aus einer bestimmten Datei abgerufen werden, als auch der Ausgabestream, mit dem Daten in eine Datei eingefügt werden, untersucht.
=> Hier finden Sie unseren ultimativen C # -Trainingsleitfaden
Was du lernen wirst:
System.IO-Namespace
System.IO ist ein in C # vorhandener Namespace, der Klassen enthält, mit denen verschiedene Vorgänge in einem bestimmten Stream ausgeführt werden können, z. B. das Erstellen, Bearbeiten und Abrufen von Daten aus einer bestimmten Datei.
Schauen wir uns einige dieser Klassen an.
C # FileStream
Der Dateistream bietet einen Pfad zum Ausführen von Dateivorgängen. Es wird hauptsächlich zum Lesen und Schreiben von Daten in die Dateien verwendet.
Beispiel zum Schreiben in eine Datei:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); f.Close(); Console.WriteLine('File Stream closed'); } } }
Hier haben wir ein einfaches Programm geschrieben, um mithilfe des Dateistreams einzelne Byte-Daten in die Datei zu schreiben. Zuerst haben wir ein FileStream-Objekt erstellt und den Namen der Datei übergeben. Dann setzen wir den Dateimodus auf Öffnen oder Erstellen. In der geöffneten Datei haben wir mit WriteByte ein einzelnes Byte geschrieben und schließlich alles geschlossen.
Die Ausgabe ist eine txt-Datei mit einem einzelnen Byte.
Beispiel zum Lesen einer Datei
In unserem vorherigen Beispiel haben wir gelernt, wie man jetzt in eine Datei schreibt. Versuchen wir, die Datei zu lesen.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: '+a); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Hier haben wir ReadByte verwendet, um das Byte aus der Datei zu lesen. Mit diesem Befehl wird ein einzelnes Byte aus der Datei gelesen. Wenn Sie mehr Daten lesen möchten, müssen Sie diese durch eine Schleife leiten. Wir haben es dann in einer char-Variablen gespeichert, aber da der Rückgabetyp nicht immer mit ReadByte übereinstimmt, haben wir auch eine Umwandlung für char hinzugefügt.
Wenn wir dieses Programm ausführen, wird die folgende Ausgabe beobachtet.
Ausgabe
Datei geöffnet
Aus der Datei gelesene Daten sind: F.
Dateistream geschlossen
C #StreamWriter
Die StreamWriter-Klasse in C # wird zum Schreiben von Zeichen in einen Stream verwendet. Es verwendet die TextWriter-Klasse als Basisklasse und stellt die Überladungsmethoden zum Schreiben von Daten in eine Datei bereit.
Der StreamWriter wird hauptsächlich zum Schreiben mehrerer Datenzeichen in eine Datei verwendet.
Beispiel:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //closing stream writer s.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Nach der Initialisierung des FileStream-Objekts haben wir auch das StreamWriter-Objekt mithilfe des FileStream-Objekts initialisiert. Dann haben wir die WriteLine-Methode verwendet, um eine einzelne Datenzeile in die Datei zu schreiben. Wir haben dann den StreamWriter und dann den FileStream geschlossen.
Die Ausgabe des folgenden Codes ist eine Datei mit darin geschriebenen Benutzerdaten.
neuer World of Warcraft Private Server
Ausgabe
C #StreamReader
Der StreamReader wird zum Lesen von Zeichenfolgen oder großen Sätzen aus einer Datei verwendet. Der StreamReader verwendet auch die TextReader-Klasse als Basisklasse und bietet dann Methoden wie Reading und ReadLine an, um Daten aus dem Stream zu lesen.
Beispiel für das Lesen von Daten:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream writer sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); Console.ReadLine(); } } }
Hier haben wir mit dem FileStream ein Objekt aus dem StreamReader erstellt. Dann haben wir eine einfache Readline-Methode verwendet, um Daten aus der Datei zu lesen. Wir haben den StreamReader und dann den FileStream geschlossen.
Das obige Programm erzeugte die folgende Ausgabe:
Ausgabe:
Datei geöffnet
Daten aus der Datei lesen
Die Daten aus der Datei sind: Schreiben von Daten in eine Datei mit dem Stream Writer
Dateistream geschlossen
Standard-Gateway nicht verfügbar Windows 10
C #TextWriter
In C # wird die TextWriter-Klasse als abstrakte Klasse geschrieben. Es wird verwendet, um eine sequentielle Reihe von Zeichen in einer Datei zu erstellen. Es ist dem Stream-Writer ziemlich ähnlich, mit dem der Benutzer auch sequentielle Zeichen oder Text in eine Datei schreiben kann, für den Vorgang ist jedoch keine FileStream-Erstellung erforderlich.
Beispiel, um zu wissen, wie TextWriter funktioniert:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } Console.ReadLine(); } } }
Der obige Code funktioniert ähnlich wie der StreamWriter. Die WriteLine-Methode schreibt die Daten in die Datei. Sie können mehrere Daten in die Datei schreiben, indem Sie mehrere WriteLine-Methoden im using-Anweisungsblock verwenden.
Die Ausgabe erstellt eine Textdatei mit dem benutzerdefinierten Text.
Ausgabe:
C #TextReader
Textreader ist eine weitere Klasse, die in System.IO zu finden ist. Es wird verwendet, um Text oder ein beliebiges fortlaufendes Zeichen aus einer bestimmten Datei zu lesen.
Beispiel:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
Im obigen Programm haben wir TextReader verwendet, um eine Datei zu öffnen, die an einem bestimmten Speicherort gespeichert ist. Dann haben wir eine Stringvariable deklariert, um die Daten der Datei zu speichern. Die ReadToEnd-Methode stellt sicher, dass alle Daten in der Datei gelesen wurden. Danach haben wir die Daten auf der Konsole gedruckt.
Die Ausgabe des obigen Programms lautet:
Die erste Zeile mit Textschreiber
Fazit
Der System.IO-Namespace in C # bietet verschiedene Klassen und Methoden, mit denen Programmierer Lese- und Schreibvorgänge für verschiedene Dateien ausführen können. System.IO enthält mehrere Klassen wie FileStream, StreamReader, StreamWriter, TextReader, TextWriter usw.
Alle diese Klassen bieten je nach Anforderung eine spezifische Implementierung für die Lese- und Schreibvorgänge in der Datei.
Codebeispiel
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { FileStream f = new FileStream('d:\b.txt', FileMode.OpenOrCreate); Console.WriteLine('File opened'); f.WriteByte(70); Console.WriteLine('Data written into file'); char a = (char)f.ReadByte(); Console.WriteLine('Data read from file is: ' + a); //declared stream writer StreamWriter s = new StreamWriter(f); Console.WriteLine('Writing data to file'); s.WriteLine('Writing data into file using stream writer'); //declared stream reader StreamReader sr = new StreamReader(f); Console.WriteLine('Reading data from the file'); string line = sr.ReadLine(); Console.WriteLine('The data from the file is : ' + line); //closing stream sr.Close(); f.Close(); Console.WriteLine('File Stream closed'); using (TextWriter writer = File.CreateText('d:\textFile.txt')) { writer.WriteLine('The first line with text writer'); } using (TextReader txtR = File.OpenText('d:\textFile.txt')) { String data = txtR.ReadToEnd(); Console.WriteLine(data); } Console.ReadLine(); } } }
=> Sehen Sie sich hier die vollständige C # Trainingsserie an
Literatur-Empfehlungen
- Dateimanipulation unter Unix: Übersicht über das Unix-Dateisystem
- Unix-Sonderzeichen oder Metazeichen für die Dateimanipulation
- Unix-Dateizugriffsberechtigungen: Unix Chmod, Chown und Chgrp
- VBScript-Dateiobjekte: CopyFile, DeleteFile, OpenTextFile, Read and Write Text File
- Dateieingabe Ausgabevorgänge in C ++
- Java-Bereitstellung: Erstellung und Ausführung einer Java-JAR-Datei
- So vergleichen Sie zwei Dateien unter Unix: Dateivergleichsbefehle
- Erweitertes Unix-Shell-Scripting: Arrays, Datei- und String-Testoperatoren, spezielle Variablen