Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C# Stream-zelfstudie:StreamReader, StreamWriter met voorbeeld

In C#-bestandsbewerkingen worden normaal gesproken streams gebruikt om bestanden te lezen en te schrijven. Een stream is een extra laag die wordt gemaakt tussen een applicatie en een bestand. De stream wordt gebruikt om soepele lees- en schrijfbewerkingen naar het bestand te garanderen.

Streams worden normaal gesproken gebruikt bij het lezen van gegevens uit grote bestanden. Door gebruik te maken van streams worden de gegevens uit grote bestanden opgesplitst in kleine stukjes en naar de stream gestuurd. Deze stukjes gegevens kunnen vervolgens uit de applicatie worden gelezen.

De reden om het op te splitsen in kleine stukjes is vanwege de prestatie-impact van het in één keer lezen van een groot bestand. Als u de gegevens van bijvoorbeeld een bestand van 100 MB in één keer zou lezen, zou uw toepassing gewoon kunnen vastlopen en onstabiel worden. De beste aanpak is dan om streams te gebruiken om het bestand op te splitsen in hanteerbare brokken.

Dus wanneer een schrijfbewerking in het bestand wordt uitgevoerd, worden de te schrijven gegevens eerst naar de stream geschreven. Vanuit de stream worden de gegevens vervolgens naar het bestand geschreven. Hetzelfde geldt voor de leesbewerking. Bij de leesbewerking worden eerst gegevens van het bestand naar de stream overgedragen. De gegevens worden vervolgens via de stream uit de applicatie uitgelezen. Laten we eens kijken naar een voorbeeld van hoe we kunnen lezen en schrijven met streams.

In deze tutorial leer je-

  • Streamlezer
  • Streamschrijver

Streamlezer

De streamlezer wordt gebruikt om gegevens uit een bestand te lezen met behulp van streams. De gegevens uit het bestand worden eerst in de stream ingelezen. Daarna leest de applicatie de gegevens uit de stream.

Voor ons voorbeeld gaan we ervan uit dat we een bestand op de D-schijf hebben met de naam Voorbeeld.txt. Het bestand is een eenvoudig tekstbestand en heeft 2 regels zoals hieronder weergegeven

  • Guru99 – .Net
  • Guru99 -C#

Voor ons voorbeeld zullen we een eenvoudige consoletoepassing maken en werken met bestandsstreams

Laten we eens kijken naar een voorbeeld van hoe we streams kunnen gebruiken voor het lezen van gegevens uit een bestand. Voer de onderstaande code in het programma.cs-bestand in.

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 uitleg:-

  1. Eerst declareren we een streamreader-object. Het streamreader-object wordt in C# gebruikt om een ​​stream van het bestand naar de toepassing te definiëren. De gegevens worden van het bestand naar de stream gepusht wanneer er gegevens uit het bestand worden gelezen. De File.OpenText wordt gebruikt om het bestand "Example.txt" in alleen-lezen modus te openen. De handler naar het bestand wordt dan naar het stream reader-object gestuurd.
  2. Vervolgens definiëren we een tijdelijke variabele 's' die zal worden gebruikt om alle gegevens uit het bestand te lezen.
  3. Vervolgens gebruiken we de streamreadermethode ReadLine om elke regel uit de streambuffer te lezen. Wanneer we deze bewerking uitvoeren, wordt elke regel eerst van het bestand naar de buffer overgebracht. Vervolgens wordt de stringlijn van de buffer naar de variabele 's' overgebracht. We schrijven dan de inhoud van de string 's' naar de console.

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer.

Uitvoer:-

Aan de uitvoer kunt u zien dat de Stream Reader beide regels uit het bestand leest. Ten slotte werden de regels van de string die uit de stream werd gelezen, naar de console gestuurd.

Streamschrijver

De streamschrijver wordt gebruikt om gegevens naar een bestand te schrijven met behulp van streams. De gegevens uit de applicatie worden eerst in de stream geschreven. Daarna schrijft de stream de gegevens naar het bestand. Laten we eens kijken naar een voorbeeld van hoe we streams kunnen gebruiken voor het schrijven van gegevens uit een bestand. Voer de onderstaande code in het programma.cs-bestand in.

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 uitleg:-

  1. Eerst declareren we een stream writer-object. Het stream writer-object wordt in C# gebruikt om een ​​stream te definiëren. De stream wordt vervolgens gebruikt om gegevens van de toepassing naar het bestand te schrijven. De gegevens worden van de applicatie naar de stream gepusht wanneer er gegevens moeten worden geschreven. De opdracht File.AppendText wordt gebruikt om het bestand "Example.txt" in een toevoegmodus te openen. De handler naar het bestand wordt dan naar het stream writer-object gestuurd.
  2. We gebruiken de stream-schrijfmethode Writeline om de regel "Guru99 - ASP.Net" naar de stream te schrijven. Vanuit de stream wordt de regel dan naar het bestand geschreven.
  3. Vervolgens sluiten we de streamschrijver nadat we naar het bestand hebben geschreven. Het is normaal gesproken een goede gewoonte om bestandshandlers te sluiten wanneer het bestand niet langer nodig is voor schrijfdoeleinden.
  4. Eindelijk lezen we de inhoud van het bestand opnieuw en schrijven het naar het consolelogboek. Dit is om te controleren of de regel naar het bestand is geschreven.

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer.

Uitvoer:-

Aan de uitvoer kunt u zien dat de regel "Guru99 - ASP.Net" met succes aan het bestand is toegevoegd. Alle 3 regels tekst zijn zichtbaar in de console.

Samenvatting

  • Streams worden gebruikt als tussenniveau tussen de applicatie en het bestand.
  • Een StreamReader wordt gebruikt wanneer gegevens uit een bestand moeten worden gelezen.
  • Een Streamwriter wordt gebruikt wanneer gegevens naar een bestand moeten worden geschreven.

C Taal

  1. C++ For Loop met VOORBEELD
  2. C++ Switch Case Statement met VOORBEELD
  3. C++ Dynamische toewijzing van arrays met voorbeeld
  4. C++ Basisinvoer/uitvoer:Cout, Cin, Cerr Voorbeeld
  5. Stapel in C++ STL met voorbeeld
  6. C++-structuur met voorbeeld
  7. C++ klasse en object met voorbeeld
  8. std::lijst in C++ met Voorbeeld
  9. C# Abstract Class-zelfstudie met voorbeeld:wat is abstractie?
  10. C# Collecties Zelfstudie met Voorbeelden
  11. Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld