c filestream streamwriter
I denne opplæringen vil du lære om System.IO som er et C # -navnområde. Dette navneområdet gir C #-klasser som FileStream, StreamWriter, StreamReader for å håndtere fil I / O:
nedlasting av c ++ standardbibliotek
En fil er i utgangspunktet et systemobjekt som er lagret i minnet i en bestemt katalog med riktig navn og utvidelse. I C # kaller vi en fil som stream hvis vi bruker den til å skrive eller lese data.
I denne opplæringen vil vi se på både inngangsstrømmen som brukes til å hente data fra en gitt fil og utgangsstrømmen som brukes til å sette data i en fil.
=> Se etter vår Ultimate C # Training Guide her
Hva du vil lære:
System.IO Navneområde
System.IO er et navneområde som er tilstede i C # som inneholder klasser som kan brukes til å utføre forskjellige operasjoner på en gitt strøm som å opprette, redigere og hente data fra en gitt fil.
La oss ta en titt på noen av disse klassene.
C # FileStream
Filstrøm tilbyr en bane for å utføre filoperasjoner. Den brukes hovedsakelig til å lese og skrive data i filene.
Eksempel på å skrive inn i en fil:
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'); } } }
Her skrev vi et enkelt program for å skrive en enkelt byte-data inn i filen ved hjelp av filstrøm. Først opprettet vi et FileStream-objekt og passerte navnet på filen. Deretter setter vi filmodusen til å åpne eller opprette. I den åpnede filen skrev vi en enkelt byte ved hjelp av WriteByte, og til slutt lukket vi alt.
Utgangen er en txt-fil med en enkelt byte.
Eksempel på å lese en fil
I vårt forrige eksempel lærte vi å skrive inn i en fil nå, la oss prøve å lese filen.
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(); } } }
Her har vi brukt ReadByte til å lese byte fra filen. Denne kommandoen brukes til å lese en enkelt byte fra filen. Hvis du vil lese mer data, må du sende dem gjennom en løkke. Vi lagret den deretter i en røye-variabel, men da returtypen ikke alltid vil matche for ReadByte, har vi også lagt til en rollebesetning for røye.
Hvis vi kjører dette programmet, observeres følgende utdata.
Produksjon
Filen åpnet
Data lest fra fil er: F
File Stream stengt
C #StreamWriter
StreamWriter-klassen i C # brukes til å skrive tegn til en stream. Den bruker TextWriter-klassen som en basisklasse og gir overbelastningsmetoder for å skrive data til en fil.
StreamWriter brukes hovedsakelig til å skrive flere tegn med data til en fil.
Eksempel:
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(); } } }
Etter initialisering av FileStream-objektet initialiserte vi også StreamWriter-objektet ved hjelp av FileStream-objektet. Så brukte vi WriteLine-metoden til å skrive en enkelt linje med data i filen. Vi lukket deretter StreamWriter og deretter FileStream.
Utdataene fra følgende kode vil være en fil med brukerdata skrevet i.
hva brukes c ++ til i dag
Produksjon
C #StreamReader
StreamReader brukes til å lese streng eller store setninger fra en fil. StreamReader bruker også TextReader-klassen som basisklasse og tilbyr deretter metoder som Reading og ReadLine for å lese data fra strømmen.
Eksempel på å lese data:
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(); } } }
Her har vi opprettet et objekt fra StreamReader ved hjelp av FileStream. Deretter brukte vi en enkel readline-metode for å lese data fra filen. Vi lukket StreamReader og deretter FileStream.
Ovennevnte program ga følgende resultater:
Produksjon:
Filen åpnet
Lese data fra filen
Dataene fra filen er: Skrive data til fil ved hjelp av streamwriter
File Stream stengt
hvordan åpne shockwave flash-objekt
C #TextWriter
I C # er TextWriter-klassen skrevet som en abstrakt klasse. Den brukes til å lage en sekvensiell serie med tegn i en fil. Det er ganske likt streamforfatteren som også lar brukeren skrive sekvensielle tegn eller tekst i en fil, men det krever ikke opprettelse av FileStream for operasjonen.
Eksempel på hvordan TextWriter fungerer:
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(); } } }
Ovennevnte kode fungerer på lik linje med StreamWriter. WriteLine-metoden skriver dataene i filen. Du kan skrive flere data i filen ved å bruke flere WriteLine-metoder inne i setningsblokken.
Utdataene oppretter en tekstfil med den brukerdefinerte teksten.
Produksjon:
C #TextReader
Tekstleser er en annen klasse som finnes i System.IO. Den brukes til å lese tekst eller et sekvensielt tegn fra en gitt fil.
Eksempel:
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(); } } }
I programmet ovenfor har vi brukt TextReader til å åpne en fil som holdes på et bestemt sted. Deretter erklærte vi en strengvariabel for å lagre dataene i filen. ReadToEnd-metoden sørger for at alle dataene i filen er lest. Etter det skrev vi ut dataene til konsollen.
Resultatet av programmet ovenfor vil være:
Første linje med tekstforfatter
Konklusjon
System.IO-navneområdet i C # tilbyr forskjellige klasser og metoder for å gjøre det mulig for programmerere å utføre lese- og skriveoperasjoner på forskjellige filer. System.IO inneholder flere klasser som FileStream, StreamReader, StreamWriter, TextReader, TextWriter etc.
Alle disse klassene gir en spesifikk implementering for leseskrivoperasjonene på filen, avhengig av kravet.
Kodeeksempel
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(); } } }
=> Se hele C # Training Series her
Anbefalt lesing
- Filmanipulering i Unix: Oversikt over Unix File System
- Unix spesialtegn eller metategn for filmanipulering
- Tillatelser til Unix-filtilgang: Unix Chmod, Chown og Chgrp
- VBScript-filobjekter: CopyFile, DeleteFile, OpenTextFile, Les og skriv tekstfil
- Filinngangsutgangsoperasjoner i C ++
- Java-distribusjon: Opprettelse og utføring av Java JAR-fil
- Hvordan sammenligne to filer i Unix: kommandoer for filsammenligning
- Avansert Unix Shell Scripting: Arrays, File and String Test Operators, Special Variables