C # voo õpetus: StreamReader, StreamWriter koos näitega

Lang L: none (table-of-contents):

Anonim

C # failitoimingutes kasutatakse failide lugemiseks ja kirjutamiseks tavaliselt vooge. Voog on rakenduse ja faili vahele loodud lisakiht. Voogu kasutatakse faili sujuvate lugemis- ja kirjutamistoimingute tagamiseks.

Vooge kasutatakse tavaliselt suurte failide andmete lugemisel. Voogude abil jaotatakse suurte failide andmed väikesteks tükkideks ja saadetakse voogu. Neid andmeid saab seejärel rakendusest välja lugeda.

Väikesteks tükkideks jaotamise põhjus on suure faili ühe kaadri lugemise tulemuslikkuse mõju. Kui loeksite andmeid ühe ütlusega 100 MB suurusest failist, võib teie rakendus lihtsalt rippuda ja muutuda ebastabiilseks. Parim lähenemisviis on siis failide jagamine hallatavateks tükkideks voogude abil.

Nii et kui failis tehakse kirjutamistoiming, kirjutatakse kirjutatavad andmed kõigepealt voogu. Seejärel kirjutatakse andmed voost faili. Sama kehtib ka lugemisoperatsiooni kohta. Lugemisoperatsioonis kantakse andmed kõigepealt failist voogu. Seejärel loetakse andmed voo kaudu rakendusest. Vaatame näidet, kuidas me voogude abil lugeda ja kirjutada saame.

Selles õpetuses saate teada

  • Voo voog
  • Voogu kirjutaja

Voo voog

Vooglugejat kasutatakse failide andmete voogude abil lugemiseks. Faili andmed loetakse kõigepealt voogu. Seejärel loeb rakendus voost andmeid.

Meie näite puhul eeldame, et meil on D-draivis fail nimega Example.txt. Fail on lihtne tekstifail ja sellel on 2 rida, nagu allpool näidatud

  • Guru99 -. Net
  • Guru99 -C #

Meie näiteks loome lihtsa konsoolirakenduse ja töötame failivoogudega

Vaatame näidet selle kohta, kuidas saame vooge kasutada failist andmete lugemiseks. Sisestage allolev kood faili 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();}}}

Koodi selgitus: -

  1. Esiteks kuulutame välja voo lugeja objekti. Vooglugeja objekti kasutatakse C # -ga failist rakendusse voo määratlemiseks. Andmed lükatakse failist voogu alati, kui failist andmeid loetakse. File.OpenText kasutatakse faili "Näide.txt" avamiseks kirjutuskaitstud režiimis. Seejärel saadetakse faili käitleja voolugeja objektile.
  2. Järgmisena määratleme ajutise muutuja 's', mida kasutatakse failist kõigi andmete lugemiseks.
  3. Seejärel kasutame voogupuhvrist iga rea ​​lugemiseks voo lugeja meetodit ReadLine. Selle toimingu sooritamisel kantakse iga rida kõigepealt failist puhvrisse. Siis kantakse stringirida puhvrist muutujale s. Seejärel kirjutame stringi 's' sisu konsooli.

Kui ülaltoodud kood on määratud ja projekti käivitatakse Visual Studio abil, saate allpool oleva väljundi.

Väljund: -

Väljundist näete, et voo lugeja luges failist mõlemat rida. Lõpuks saadeti voost loetud stringi read konsoolile.

Voogu kirjutaja

Voogukirjutajat kasutatakse voogude abil faili andmete kirjutamiseks. Rakenduse andmed kirjutatakse kõigepealt voogu. Pärast seda kirjutab voog andmed faili. Vaatame näidet selle kohta, kuidas saame vooge kasutada failist andmete kirjutamiseks. Sisestage allolev kood faili 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();}}}

Koodi selgitus: -

  1. Esiteks kuulutame välja voogude kirjutaja objekti. Voogukirjutaja objekti kasutatakse voos defineerimiseks C # -s. Seejärel kasutatakse voogu rakendusest andmete faili kirjutamiseks. Andmed lükatakse rakendusest voogu alati, kui andmed on vaja kirjutada. File.AppendText käsku kasutatakse faili "Example.txt" avamiseks liitmisrežiimis. Seejärel saadetakse faili käitleja voogkirjutaja objektile.
  2. Rea "Guru99 - ASP.Net" kirjutamiseks voogu kasutame voo kirjutamise meetodit Writeline. Vooga kirjutatakse rida seejärel faili.
  3. Seejärel sulgeme voo kirjutaja pärast faili kirjutamist. Tavaliselt on hea failitöötlejate sulgemine, kui faili kirjutamise eesmärgil enam ei vajata.
  4. Lõpuks loeme uuesti faili sisu ja kirjutame selle konsoolilogi. Selle eesmärk on kontrollida, kas rida on faili kirjutatud.

Kui ülaltoodud kood on määratud ja projekti käivitatakse Visual Studio abil, saate allpool oleva väljundi.

Väljund: -

Väljundist näete, et rida "Guru99 - ASP.Net" lisati faili edukalt. Kõiki kolme tekstirida on näha konsoolis.

Kokkuvõte

  • Vooge kasutatakse rakenduse ja faili vahelise vahetasemena.
  • StreamReaderit kasutatakse alati, kui andmeid tuleb failist lugeda.
  • Streamwriterit kasutatakse alati, kui andmed tuleb faili kirjutada.