Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C#-Stream-Tutorial:StreamReader, StreamWriter mit Beispiel

Bei C#-Dateioperationen werden normalerweise Streams zum Lesen und Schreiben in Dateien verwendet. Ein Stream ist eine zusätzliche Schicht, die zwischen einer Anwendung und einer Datei erstellt wird. Der Stream wird verwendet, um reibungslose Lese- und Schreibvorgänge in der Datei sicherzustellen.

Streams werden normalerweise verwendet, wenn Daten aus großen Dateien gelesen werden. Durch die Verwendung von Streams werden die Daten aus großen Dateien in kleine Teile zerlegt und an den Stream gesendet. Diese Datenblöcke können dann von der Anwendung gelesen werden.

Der Grund für die Aufteilung in kleine Stücke liegt in den Leistungseinbußen beim Lesen einer großen Datei auf einmal. Wenn Sie die Daten beispielsweise aus einer 100-MB-Datei auf einmal lesen würden, könnte Ihre Anwendung einfach hängen bleiben und instabil werden. Der beste Ansatz besteht dann darin, Streams zu verwenden, um die Datei in überschaubare Teile zu zerlegen.

Wenn also eine Schreiboperation auf eine Datei ausgeführt wird, werden die zu schreibenden Daten zuerst in den Stream geschrieben. Aus dem Stream werden die Daten dann in die Datei geschrieben. Dasselbe gilt für die Leseoperation. Beim Lesevorgang werden zunächst Daten aus der Datei in den Stream übertragen. Die Daten werden dann über den Stream aus der Anwendung ausgelesen. Sehen wir uns ein Beispiel an, wie wir mithilfe von Streams lesen und schreiben können.

In diesem Tutorial lernen Sie-

Stream-Reader

Der Stream-Reader wird verwendet, um Daten mithilfe von Streams aus einer Datei zu lesen. Die Daten aus der Datei werden zuerst in den Stream eingelesen. Danach liest die Anwendung die Daten aus dem Stream.

Für unser Beispiel gehen wir davon aus, dass wir eine Datei namens Example.txt auf Laufwerk D haben. Die Datei ist eine einfache Textdatei und hat 2 Zeilen, wie unten gezeigt

Für unser Beispiel erstellen wir eine einfache Konsolenanwendung und arbeiten mit Dateistreams

Schauen wir uns ein Beispiel an, wie wir Streams zum Lesen von Daten aus einer Datei verwenden können. 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";

    using (StreamReader sr = File.OpenText(path))
    {
     String s = "";

     while ((s = sr.ReadLine()) != null)
     {
      Console.WriteLine(s);
     }
    }
   Console.ReadKey();
  }
 }
}

Code-Erklärung:-

  1. Zuerst deklarieren wir ein Stream-Reader-Objekt. Das Stream-Reader-Objekt wird in C# verwendet, um einen Stream von der Datei zur Anwendung zu definieren. Die Daten werden immer dann aus der Datei in den Stream verschoben, wenn Daten aus der Datei gelesen werden. Der File.OpenText wird verwendet, um die Datei „Example.txt“ im schreibgeschützten Modus zu öffnen. Der Handler für die Datei wird dann an das Stream-Reader-Objekt gesendet.
  2. Als nächstes definieren wir eine temporäre Variable „s“, die verwendet wird, um alle Daten aus der Datei zu lesen.
  3. Wir verwenden dann die Stream-Reader-Methode ReadLine, um jede Zeile aus dem Stream-Puffer zu lesen. Wenn wir diese Operation ausführen, wird jede Zeile zuerst von der Datei in den Puffer übertragen. Dann wird die Zeichenfolge line aus dem Puffer in die Variable ‚s‘ übertragen. Wir schreiben dann den Inhalt des Strings ‚s‘ auf die Konsole.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgeführt wird, erhalten Sie die folgende Ausgabe.

Ausgabe:-

Aus der Ausgabe können Sie sehen, dass der Stream Reader beide Zeilen aus der Datei gelesen hat. Schließlich wurden die aus dem Stream gelesenen Zeilen des Strings an die Konsole gesendet.

Stream-Writer

Der Streamwriter wird verwendet, um Daten mithilfe von Streams in eine Datei zu schreiben. Die Daten aus der Anwendung werden zunächst in den Stream geschrieben. Danach schreibt der Stream die Daten in die Datei. Schauen wir uns ein Beispiel an, wie wir Streams zum Schreiben von Daten aus einer Datei verwenden können. 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";
    
    using (StreamWriter sr = File.AppendText(path))
    {
     sr.WriteLine("Guru99 - ASP.Net");
     sr.Close();

     Console.WriteLine(File.ReadAllText(path));
    }
    Console.ReadKey();
  }
 }
}

Code-Erklärung:-

  1. Zuerst deklarieren wir ein Stream-Writer-Objekt. Das Streamwriter-Objekt wird in C# verwendet, um einen Stream zu definieren. Der Stream wird dann verwendet, um Daten von der Anwendung in die Datei zu schreiben. Die Daten werden immer dann von der Anwendung in den Stream verschoben, wenn Daten geschrieben werden müssen. Der Befehl File.AppendText wird verwendet, um die Datei „Example.txt“ in einem Anhängemodus zu öffnen. Der Handler für die Datei wird dann an das Streamwriter-Objekt gesendet.
  2. Wir verwenden die Stream-Schreibmethode Writeline, um die Zeile „Guru99 – ASP.Net“ in den Stream zu schreiben. Aus dem Stream wird dann die Zeile in die Datei geschrieben.
  3. Wir schließen dann den Streamwriter, nachdem wir in die Datei geschrieben haben. Normalerweise empfiehlt es sich, Dateihandler zu schließen, wenn die Datei nicht mehr zum Schreiben benötigt wird.
  4. Schließlich lesen wir den Inhalt der Datei erneut und schreiben ihn in das Konsolenprotokoll. Damit soll überprüft werden, ob die Zeile in die Datei geschrieben wurde.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgeführt wird, erhalten Sie die folgende Ausgabe.

Ausgabe:-

Aus der Ausgabe können Sie sehen, dass die Zeile „Guru99 – ASP.Net“ erfolgreich zur Datei hinzugefügt wurde. Alle 3 Textzeilen sind in der Konsole zu sehen.

Zusammenfassung


C Sprache

  1. C++ For-Schleife mit BEISPIEL
  2. C++ Switch Case-Anweisung mit BEISPIEL
  3. C++ Dynamische Zuordnung von Arrays mit Beispiel
  4. C++ Basic Input/Output:Cout, Cin, Cerr Beispiel
  5. Stack in C++ STL mit Beispiel
  6. C++-Struktur mit Beispiel
  7. std::list in C++ mit Beispiel
  8. C# Abstract Class Tutorial mit Beispiel:Was ist Abstraktion?
  9. Tutorial zu C#-Sammlungen mit Beispielen
  10. Java BufferedReader:Lesen von Dateien in Java mit Beispiel