C # Stream Tutorial: StreamReader, StreamWriter med eksempel

Innholdsfortegnelse:

Anonim

I C # filoperasjoner brukes vanligvis streams til å lese og skrive til filer. En strøm er et ekstra lag opprettet mellom et program og en fil. Strømmen brukes til å sikre jevn lese- og skriveoperasjoner til filen.

Strømmer brukes normalt når du leser data fra store filer. Ved å bruke strømmer deles dataene fra store filer i små biter og sendes til strømmen. Disse delene av data kan deretter leses fra applikasjonen.

Årsaken til å bryte den ned i små biter er på grunn av ytelseseffekten av å lese en stor fil i ett skudd. Hvis du skulle lese dataene fra si, en 100 MB fil på ett skudd, kan applikasjonen din bare henge og bli ustabil. Den beste tilnærmingen er å bruke strømmer for å bryte filen ned i håndterbare biter.

Så når en skriveoperasjon utføres på fil, blir dataene som skal skrives først skrevet til strømmen. Fra strømmen blir dataene deretter skrevet til filen. Det samme gjelder leseoperasjonen. I leseoperasjonen blir data først overført fra filen til strømmen. Dataene blir deretter lest fra applikasjonen via strømmen. La oss se på et eksempel på hvordan vi kan lese og skrive ved hjelp av strømmer.

I denne veiledningen vil du lære-

  • Stream Reader
  • Stream Writer

Stream Reader

Strømleseren brukes til å lese data fra en fil ved hjelp av strømmer. Dataene fra filen leses først inn i strømmen. Deretter leser applikasjonen dataene fra strømmen.

For vårt eksempel vil vi anta at vi har en fil i D-stasjonen som heter Example.txt. Filen vil være en enkel tekstfil og har to linjer som vist nedenfor

  • Guru99 - .Net
  • Guru99 -C #

For vårt eksempel vil vi lage en enkel konsollapplikasjon og jobbe med filstrømmer

La oss se på et eksempel på hvordan vi kan bruke strømmer til å lese data fra en fil. Skriv inn koden nedenfor i filen program.cs.

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();}}}

Kode Forklaring: -

  1. Først erklærer vi et strømleserobjekt. Strømleserobjektet brukes i C # for å definere en strøm fra filen til applikasjonen. Dataene blir presset fra filen til strømmen når data leses fra filen. File.OpenText brukes til å åpne filen "Eksempel.txt" i skrivebeskyttet modus. Behandleren til filen sendes deretter til strømleserobjektet.
  2. Deretter definerer vi en midlertidig variabel 's' som skal brukes til å lese alle dataene fra filen.
  3. Vi bruker deretter strømlesermetoden ReadLine for å lese hver linje fra strømbufferen. Når vi utfører denne operasjonen, vil hver linje først bli overført fra filen til bufferen. Deretter vil strenglinjen overføres fra bufferen til variabelen 's'. Vi skriver deretter innholdet av strengen til konsollen.

Når koden ovenfor er angitt, og prosjektet kjøres ved hjelp av Visual Studio, får du utdataene nedenfor.

Produksjon:-

Fra utgangen kan du se at Stream Reader leser begge linjene fra filen. Til slutt ble strengene som ble lest fra strømmen sendt til konsollen.

Stream Writer

Strømforfatteren brukes til å skrive data til en fil ved hjelp av strømmer. Dataene fra applikasjonen blir først skrevet inn i strømmen. Etter det skriver strømmen dataene til filen. La oss se på et eksempel på hvordan vi kan bruke strømmer til å skrive data fra en fil. Skriv inn koden nedenfor i filen program.cs.

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();}}}

Kode Forklaring: -

  1. For det første erklærer vi et strømforfatterobjekt. Strømforfatterobjektet brukes i C # for å definere en strøm. Strømmen brukes deretter til å skrive data fra applikasjonen til filen. Dataene blir presset fra applikasjonen til strømmen når data må skrives. File.AppendText-kommandoen brukes til å åpne filen "Eksempel.txt" i en tilleggsmodus. Behandleren til filen sendes deretter til streamwriter-objektet.
  2. Vi bruker strømskrivemetoden Writeline for å skrive linjen "Guru99 - ASP.Net" til strømmen. Fra strømmen vil linjen bli skrevet til filen.
  3. Vi lukker deretter strømforfatteren etter å ha skrevet til filen. Det er normalt en god praksis å lukke filhåndterere når filen ikke lenger er nødvendig for skriftlige formål.
  4. Til slutt leser vi innholdet i filen igjen og skriver det til konsolloggen. Dette er for å sjekke om linjen ble skrevet til filen.

Når koden ovenfor er angitt, og prosjektet kjøres ved hjelp av Visual Studio, får du utdataene nedenfor.

Produksjon:-

Fra utgangen kan du se at linjen "Guru99 - ASP.Net" ble lagt til filen med hell. Alle de 3 tekstlinjene kan sees i konsollen.

Sammendrag

  • Strømmer brukes som et mellomnivå mellom applikasjonen og filen.
  • En StreamReader brukes når det kreves at data leses fra en fil.
  • En Streamwriter brukes når data må skrives til en fil.