c filestream streamwriter
U ovom vodiču naučit ćete o System.IO koji je C # prostor imena. Ovaj prostor imena nudi C # klase kao što su FileStream, StreamWriter, StreamReader za rukovanje I / O datotekama:
što je plan ispitivanja u qa
Datoteka je u osnovi sistemski objekt pohranjen u memoriji određenog zadanog direktorija s vlastitim imenom i nastavkom. U C # nazivamo datoteku kao stream ako je koristimo za pisanje ili čitanje podataka.
U ovom uputstvu proučit ćemo ulazni tok koji se koristi za dohvaćanje podataka iz zadane datoteke i izlazni tok koji se koristi za stavljanje podataka u datoteku.
=> Ovdje potražite naš krajnji vodič za obuku za C #
Što ćete naučiti:
System.IO Prostor imena
System.IO je prostor imena prisutan u C # koji sadrži klase koje se mogu koristiti za izvođenje različitih operacija na danom toku poput stvaranja, uređivanja i dohvaćanja podataka iz zadane datoteke.
Pogledajmo neke od ovih klasa.
C # FileStream
Tok datoteka nudi put za izvođenje operacija datoteka. Uglavnom se koristi za čitanje i upisivanje podataka u datoteke.
Primjer zapisivanja u datoteku:
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'); } } }
Ovdje smo napisali jednostavan program za upisivanje podataka od jednog bajta u datoteku pomoću protoka datoteka. U početku smo stvorili objekt FileStream i proslijedili ime datoteke. Zatim postavimo način rada datoteke da se otvara ili stvara. U otvorenu datoteku napisali smo jedan bajt koristeći WriteByte i napokon smo sve zatvorili.
Izlaz je txt datoteka s jednim bajtom.
Primjer za čitanje datoteke
U našem prethodnom primjeru naučili smo kako sada zapisati u datoteku, pokušajmo pročitati datoteku.
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(); } } }
Ovdje smo koristili ReadByte za čitanje bajta iz datoteke. Ova se naredba koristi za čitanje jednog bajta iz datoteke. Ako želite pročitati više podataka, morat ćete ih proslijediti kroz petlju. Zatim smo ga pohranili u varijablu char, ali kako se vrsta povratka neće uvijek podudarati s ReadByteom, dodali smo i cast za char.
Ako pokrenemo ovaj program, uočava se sljedeći izlaz.
Izlaz
Datoteka je otvorena
Podaci pročitani iz datoteke su: F
Potok datoteka zatvoren
C #StreamWriter
Klasa StreamWriter u C # koristi se za upisivanje znakova u stream. Koristi klasu TextWriter kao osnovnu klasu i pruža metode preopterećenja za upisivanje podataka u datoteku.
StreamWriter se uglavnom koristi za upisivanje više znakova podataka u datoteku.
Primjer:
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(); } } }
Nakon inicijalizacije objekta FileStream, također smo inicijalizirali objekt StreamWriter pomoću objekta FileStream. Tada smo koristili metodu WriteLine za upisivanje jednog retka podataka u datoteku. Zatim smo zatvorili StreamWriter, a zatim FileStream.
Rezultat sljedećeg koda bit će datoteka u kojoj su zapisani korisnički podaci.
najbolji youtube video downloader za pc
Izlaz
C #StreamReader
StreamReader koristi se za čitanje niza ili velikih rečenica iz datoteke. StreamReader također koristi klasu TextReader kao osnovnu klasu, a zatim nudi metode poput čitanja i ReadLine za čitanje podataka iz toka.
Primjer čitanja podataka:
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(); } } }
Ovdje smo stvorili objekt iz StreamReader-a pomoću FileStreama. Tada smo koristili jednostavnu metodu za čitanje podataka za čitanje podataka iz datoteke. Zatvorili smo StreamReader, a zatim FileStream.
Gornji program dao je sljedeće rezultate:
Izlaz:
Datoteka je otvorena
Čitanje podataka iz datoteke
Podaci iz datoteke su: Zapisivanje podataka u datoteku pomoću programa za pisanje toka
Potok datoteka zatvoren
Pitanja i odgovori na poslovnom analitičaru
C #TextWriter
U C # klasa TextWriter napisana je kao apstraktna klasa. Koristi se za stvaranje sekvencijalnog niza znakova unutar datoteke. Prilično je sličan zapisu streama koji također omogućuje korisniku pisanje sekvencijalnih znakova ili teksta u datoteku, ali za operaciju nije potrebno stvaranje FileStreama.
Primjer da biste znali kako TextWriter radi:
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(); } } }
Gornji kod djeluje slično StreamWriteru. Metoda WriteLine zapisuje podatke u datoteku. U datoteku možete upisati više podataka koristeći više metoda WriteLine unutar bloka naredbi using.
Izlaz će stvoriti tekstualnu datoteku s korisnički definiranim tekstom.
Izlaz:
C #TextReader
Čitač teksta je još jedna klasa koja se nalazi u System.IO. Koristi se za čitanje teksta ili bilo kojeg sekvencijalnog znaka iz zadane datoteke.
Primjer:
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(); } } }
U gore navedenom programu koristili smo TextReader za otvaranje datoteke koja se čuva na određenom mjestu. Tada smo proglasili varijablu niza za pohranu podataka datoteke. Metoda ReadToEnd osigurava da su svi podaci unutar datoteke pročitani. Nakon toga podatke smo ispisali na konzolu.
Rezultat gore navedenog programa bit će:
Prvi redak s piscem teksta
Zaključak
Prostor imena System.IO unutar C # nudi razne klase i metode koje programerima omogućuju izvršavanje operacija čitanja i pisanja na različitim datotekama. System.IO sadrži nekoliko klasa poput FileStream, StreamReader, StreamWriter, TextReader, TextWriter itd.
Sve ove klase pružaju specifičnu implementaciju za operacije čitanja i upisivanja na datoteku, ovisno o zahtjevu.
Uzorak koda
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(); } } }
=> Cijelu C # seriju treninga pogledajte ovdje
Preporučena literatura
- Manipulacija datotekama u Unixu: Pregled Unix datotečnog sustava
- Posebni znakovi ili metaznaci Unixa za manipulaciju datotekama
- Dopuštenja za pristup Unix datotekama: Unix Chmod, Chown i Chgrp
- Objekti datoteke VBScript: CopyFile, DeleteFile, OpenTextFile, čitanje i pisanje tekstualne datoteke
- Izlazne operacije unosa datoteke u C ++
- Implementacija Jave: Izrada i izvršavanje Java JAR datoteke
- Kako usporediti dvije datoteke u Unixu: naredbe za usporedbu datoteka
- Napredno skriptiranje ljuske Unixa: nizovi, operateri ispitivanja datoteka i nizova, posebne varijable