c filestream streamwriter
V tomto výučbe sa dozviete o System.IO, čo je názvový priestor C #. Tento menný priestor poskytuje triedy C #, ako sú FileStream, StreamWriter, StreamReader na spracovanie súborov I / O:
čo je plán skúšok v qa
Súbor je v podstate systémový objekt uložený v pamäti v konkrétnom danom adresári so správnym menom a príponou. V C # nazývame súbor ako prúd, ak ho použijeme na zápis alebo čítanie údajov.
V tomto tutoriále sa pozrieme na vstupný prúd, ktorý sa používa na načítanie údajov z daného súboru, a na výstupný prúd, ktorý sa používa na vloženie údajov do súboru.
=> Tu si pozrite nášho Ultimate C # Training Guide
Čo sa dozviete:
Obor názvov System.IO
System.IO je menný priestor prítomný v C #, ktorý obsahuje triedy, ktoré sa dajú použiť na vykonávanie rôznych operácií v danom streame, ako je vytváranie, úprava a načítanie údajov z daného súboru.
Pozrime sa na niektoré z týchto tried.
C # FileStream
Streamovanie súborov ponúka cestu na vykonávanie operácií so súbormi. Používa sa hlavne na čítanie a zápis dát do súborov.
Príklad zápisu do súboru:
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'); } } }
Tu sme napísali jednoduchý program na zápis jednobajtových údajov do súboru pomocou toku súborov. Najskôr sme vytvorili objekt FileStream a odovzdali sme názov súboru. Potom sme nastavili režim súborov na otváranie alebo vytváranie. Do otvoreného súboru sme pomocou WriteByte napísali jeden bajt a nakoniec sme všetko zatvorili.
Výstupom je súbor txt s jedným bajtom.
Príklad na čítanie súboru
V našom predchádzajúcom príklade sme sa naučili, ako teraz zapisovať do súboru, skúsme ho prečítať.
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(); } } }
Tu sme použili ReadByte na načítanie bajtu zo súboru. Tento príkaz sa používa na načítanie jedného bajtu zo súboru. Ak chcete načítať viac údajov, musíte ich odovzdať slučkou. Potom sme ho uložili do premennej char, ale keďže návratový typ sa nebude vždy zhodovať s ReadByte, pridali sme tiež cast pre char.
Ak spustíme tento program, bude pozorovaný nasledujúci výstup.
Výkon
Súbor otvorený
Údaje načítané zo súboru sú: F
Stream súborov bol uzavretý
C #StreamWriter
Trieda StreamWriter v C # sa používa na zápis znakov do streamu. Používa triedu TextWriter ako základnú triedu a poskytuje metódy preťaženia pre zápis údajov do súboru.
StreamWriter sa používa hlavne na zápis viacerých znakov údajov do súboru.
Príklad:
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(); } } }
Po inicializácii objektu FileStream sme tiež inicializovali objekt StreamWriter pomocou objektu FileStream. Potom sme pomocou metódy WriteLine zapísali do súboru jeden riadok údajov. Potom sme zatvorili StreamWriter a potom FileStream.
Výstupom nasledujúceho kódu bude súbor, do ktorého budú zapísané údaje používateľa.
čisté otázky a odpovede pre skúsených
Výkon
C #StreamReader
StreamReader sa používa na čítanie reťazcov alebo veľkých viet zo súboru. StreamReader tiež používa triedu TextReader ako svoju základnú triedu a potom ponúka metódy ako Reading a ReadLine na čítanie údajov z streamu.
Príklad načítania údajov:
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(); } } }
Tu sme vytvorili objekt zo StreamReadera pomocou FileStream. Potom sme na načítanie údajov zo súboru použili jednoduchú metódu readline. Zatvorili sme StreamReader a potom FileStream.
Vyššie uvedený program priniesol nasledujúci výstup:
Výkon:
Súbor otvorený
Čítanie údajov zo súboru
Údaje zo súboru sú: Zápis údajov do súboru pomocou zapisovača prúdu
Stream súborov bol uzavretý
bezplatné anime stránky na pozeranie online
C #TextWriter
V C # je trieda TextWriter písaná ako abstraktná trieda. Používa sa na vytvorenie postupnej série znakov vo vnútri súboru. Je to dosť podobné ako nástroj na zapisovanie streamov, ktorý tiež umožňuje používateľovi písať sekvenčné znaky alebo text do súboru, ale nevyžaduje pre operáciu vytvorenie FileStream.
Príklad, ako vedieť, ako TextWriter funguje:
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(); } } }
Vyššie uvedený kód funguje podobne ako StreamWriter. Metóda WriteLine zapisuje údaje do súboru. Do súboru môžete zapísať viac údajov pomocou viacerých metód WriteLine vo vnútri príkazového bloku using.
Výstup vytvorí textový súbor s používateľom definovaným textom.
Výkon:
C #TextReader
Čítačka textu je ďalšou triedou, ktorá sa nachádza v System.IO. Používa sa na čítanie textu alebo akýchkoľvek postupných znakov z daného súboru.
Príklad:
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(); } } }
Vo vyššie uvedenom programe sme pomocou programu TextReader otvorili súbor, ktorý je uložený na konkrétnom mieste. Potom sme deklarovali reťazcovú premennú na ukladanie údajov súboru. Metóda ReadToEnd zaisťuje, že boli načítané všetky údaje vo vnútri súboru. Potom sme údaje vytlačili na konzolu.
Výstupom vyššie uvedeného programu bude:
Prvý riadok s textovým editorom
Záver
Obor názvov System.IO vo vnútri C # ponúka rôzne triedy a metódy, ktoré programátorom umožňujú vykonávať operácie čítania a zápisu na rôznych súboroch. System.IO obsahuje niekoľko tried ako FileStream, StreamReader, StreamWriter, TextReader, TextWriter atď.
Všetky tieto triedy poskytujú špecifickú implementáciu operácií čítania a zápisu do súboru v závislosti od požiadavky.
Ukážka kódu
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(); } } }
=> Celú sériu školení C # si môžete pozrieť tu
Odporúčané čítanie
- Manipulácia so súbormi v systéme Unix: Prehľad systému súborov Unix
- Špeciálne znaky alebo metaznaky Unix na manipuláciu so súbormi
- Povolenia na prístup k súborom v systéme Unix: Unix Chmod, Chown a Chgrp
- Objekty súborov VBScript: CopyFile, DeleteFile, OpenTextFile, čítanie a zápis textového súboru
- Operácie so vstupom a výstupom súboru v C ++
- Nasadenie Java: Vytvorenie a vykonanie súboru Java JAR
- Ako porovnávať dva súbory v systéme Unix: Príkazy na porovnávanie súborov
- Pokročilé skriptovanie Unix Shell: polia, operátory testovania súborov a reťazcov, špeciálne premenné