c filestream streamwriter
V tej vadnici boste izvedeli več o System.IO, ki je imenski prostor C #. Ta imenski prostor ponuja razrede C #, kot so FileStream, StreamWriter, StreamReader za obdelavo V / I datotek:
nove funkcije v javi 8 s primeri
Datoteka je v bistvu sistemski objekt, shranjen v pomnilniku v določenem danem imeniku z lastnim imenom in pripono. V C # datoteko pokličemo kot tok, če jo uporabljamo za pisanje ali branje podatkov.
V tej vadnici bomo preučili vhodni tok, ki se uporablja za pridobivanje podatkov iz dane datoteke, in izhodni tok, ki se uporablja za vnos podatkov v datoteko.
=> Tukaj poiščite naš Ultimate C # Guide
Kaj se boste naučili:
Imenski prostor System.IO
System.IO je imenski prostor, prisoten v C #, ki vsebuje razrede, ki jih je mogoče uporabiti za izvajanje različnih operacij v danem toku, kot je ustvarjanje, urejanje in pridobivanje podatkov iz dane datoteke.
Oglejmo si nekaj teh razredov.
C # FileStream
Datotečni tok ponuja pot za izvajanje datotek. Uporablja se predvsem za branje in zapisovanje podatkov v datoteke.
Primer za zapisovanje v datoteko:
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 smo napisali preprost program za zapis enega samega bajta podatkov v datoteko s pomočjo datotečnega toka. Sprva smo ustvarili objekt FileStream in poslali ime datoteke. Nato nastavimo način datoteke, da se odpre ali ustvari. V odprto datoteko smo napisali en bajt z uporabo WriteByte in nazadnje vse zaprli.
Rezultat je datoteka txt z enim bajtom.

Primer branja datoteke
V prejšnjem primeru smo se naučili, kako zdaj zapisati v datoteko, poskusimo datoteko prebrati.
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 smo uporabili ReadByte za branje bajta iz datoteke. Ta ukaz se uporablja za branje enega bajta iz datoteke. Če želite prebrati več podatkov, jih boste morali prenesti skozi zanko. Nato smo ga shranili v spremenljivko char, ker pa se vrsta vrnitve ne bo vedno ujemala z ReadByte, smo dodali tudi zasedbo za char.
Če zaženemo ta program, se opazi naslednji izhod.
Izhod
Datoteka je odprta
Podatki, prebrani iz datoteke, so: F
File Stream je zaprt
C #StreamWriter
Razred StreamWriter v jeziku C # se uporablja za zapisovanje znakov v tok. Kot osnovni razred uporablja razred TextWriter in zagotavlja metode preobremenitve za zapisovanje podatkov v datoteko.
StreamWriter se v glavnem uporablja za zapisovanje več znakov podatkov v datoteko.
Primer:
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 inicializiranju predmeta FileStream smo z objektom FileStream inicializirali tudi objekt StreamWriter. Nato smo z metodo WriteLine zapisali eno vrstico podatkov v datoteko. Nato smo zaprli StreamWriter in nato FileStream.
Rezultat naslednje kode bo datoteka z zapisanimi uporabniškimi podatki.
algoritem za razvrščanje vstavljanja c ++
Izhod

C #StreamReader
StreamReader se uporablja za branje nizov ali velikih stavkov iz datoteke. StreamReader kot osnovni razred uporablja tudi razred TextReader, nato pa ponuja metode, kot sta Reading in ReadLine za branje podatkov iz toka.
Primer branja podatkov:
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 smo ustvarili objekt iz StreamReaderja z uporabo FileStream. Nato smo za branje podatkov iz datoteke uporabili preprosto metodo readline. Zaprli smo StreamReader in nato FileStream.
Zgornji program je dal naslednje rezultate:
Izhod:
Datoteka je odprta
Branje podatkov iz datoteke
Podatki iz datoteke so: Zapisovanje podatkov v datoteko s pomočjo zapisovalnika tokov
File Stream je zaprt
najboljši youtube downloader za Windows 10
C #TextWriter
V C # je razred TextWriter zapisan kot abstraktni razred. Uporablja se za ustvarjanje zaporednih nizov znakov znotraj datoteke. Popolnoma je podoben zapisovalniku tokov, ki uporabniku omogoča tudi zapisovanje zaporednih znakov ali besedila v datoteko, vendar za operacijo ne zahteva ustvarjanja FileStream.
Primer, kako vedeti, kako deluje TextWriter:
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(); } } }Zgornja koda deluje podobno kot StreamWriter. Metoda WriteLine zapisuje podatke v datoteko. V datoteko lahko zapišete več podatkov z uporabo več metod WriteLine znotraj bloka stavkov using.
Izhod bo ustvaril besedilno datoteko z uporabniško določenim besedilom.
Izhod:

C #TextReader
Bralnik besedil je še en razred, ki ga najdemo v System.IO. Uporablja se za branje besedila ali katerega koli zaporednega znaka iz dane datoteke.
Primer:
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(); } } }V zgornjem programu smo z orodjem TextReader odprli datoteko, ki se hrani na določenem mestu. Nato smo razglasili spremenljivko niza za shranjevanje podatkov datoteke. Metoda ReadToEnd zagotavlja, da so bili prebrani vsi podatki v datoteki. Po tem smo podatke natisnili na konzolo.
Rezultat zgornjega programa bo:
Prva vrstica s pisalcem besedil
Zaključek
Imenski prostor System.IO znotraj C # ponuja različne razrede in metode, ki programerjem omogočajo izvajanje operacij branja in pisanja v različnih datotekah. System.IO vsebuje več razredov, kot so FileStream, StreamReader, StreamWriter, TextReader, TextWriter itd.
Vsi ti razredi nudijo posebno izvedbo za operacije branja zapisov v datoteko, odvisno od zahteve.
Vzorec kode
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(); } } }=> Oglejte si celotno serijo treningov C # tukaj
Priporočeno branje
- Manipulacija z datotekami v Unixu: Pregled datotečnega sistema Unix
- Posebni znaki ali metaznaki Unix za manipulacijo datotek
- Dovoljenja za dostop do datotek Unix: Unix Chmod, Chown in Chgrp
- Predmeti datoteke VBScript: CopyFile, DeleteFile, OpenTextFile, branje in pisanje besedilne datoteke
- Izhodne operacije vnosa datotek v C ++
- Uvajanje Java: Ustvarjanje in izvajanje datoteke Java JAR
- Kako primerjati dve datoteki v Unixu: Ukazi za primerjavo datotek
- Napredno skriptno oblikovanje lupine Unix: nizi, operaterji preizkusov datotek in nizov, posebne spremenljivke