c filestream streamwriter
En aquest tutorial, aprendreu sobre System.IO, que és un espai de noms C #. Aquest espai de noms proporciona classes C # com FileStream, StreamWriter, StreamReader per gestionar E / S de fitxers:
com construir un tallafoc per a Windows
Un fitxer és bàsicament un objecte del sistema emmagatzemat a la memòria en un directori determinat amb un nom i una extensió adequats. A C #, anomenem un fitxer com a flux si l’utilitzem per escriure o llegir dades.
En aquest tutorial, examinarem tant el flux d'entrada que s'utilitza per recuperar dades d'un fitxer determinat com el flux de sortida que s'utilitza per introduir dades en un fitxer.
=> Consulteu aquí la nostra última guia de formació C #
Què aprendreu:
Espai de noms System.IO
System.IO és un espai de noms present al C # que conté classes que es poden utilitzar per dur a terme diferents operacions en un flux determinat, com ara crear, editar i recuperar dades d’un fitxer determinat.
Vegem algunes d’aquestes classes.
C # FileStream
El flux de fitxers ofereix un camí per realitzar operacions de fitxers. S'utilitza principalment per llegir i escriure dades als fitxers.
Exemple per escriure en un fitxer:
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'); } } }
Aquí vam escriure un programa senzill per escriure dades d’un sol byte al fitxer mitjançant el flux de fitxers. Al principi, vam crear un objecte FileStream i vam passar el nom del fitxer. A continuació, configurem el mode de fitxer per obrir-lo o crear-lo. Al fitxer obert, vam escriure un sol byte amb WriteByte i, finalment, ho vam tancar tot.
La sortida és un fitxer txt amb un sol byte.
Exemple per llegir un fitxer
En el nostre exemple anterior vam aprendre a escriure en un fitxer ara, provem de llegir-lo.
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(); } } }
Aquí hem utilitzat ReadByte per llegir el byte del fitxer. Aquesta ordre s’utilitza per llegir un sol byte del fitxer. Si voleu llegir més dades, haureu de passar-les per un bucle. Després l’hem emmagatzemat en una variable char, però com que el tipus de retorn no sempre coincideix amb ReadByte, també hem afegit un repartiment per a char.
Si executem aquest programa, s’observa la següent sortida.
Sortida
S'ha obert el fitxer
Les dades llegides del fitxer són: F
File Stream tancat
C #StreamWriter
La classe StreamWriter de C # s’utilitza per escriure caràcters en un flux. Utilitza la classe TextWriter com a classe base i proporciona els mètodes de sobrecàrrega per escriure dades en un fitxer.
StreamWriter s'utilitza principalment per escriure diversos caràcters de dades en un fitxer.
Exemple:
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(); } } }
Després d’inicialitzar l’objecte FileStream, també vam inicialitzar l’objecte StreamWriter mitjançant l’objecte FileStream. Després hem utilitzat el mètode WriteLine per escriure una sola línia de dades al fitxer. A continuació, vam tancar el StreamWriter i després el FileStream.
La sortida del següent codi serà un fitxer amb dades d’usuari escrites.
preguntes i respostes d’entrevistes d’analistes de negocis per al domini bancari
Sortida
C #StreamReader
El StreamReader s’utilitza per llegir cadenes o frases grans d’un fitxer. El StreamReader també utilitza la classe TextReader com a classe base i, a continuació, ofereix mètodes com Reading i ReadLine per llegir dades del flux.
Exemple de lectura de dades:
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(); } } }
Aquí hem creat un objecte des del StreamReader mitjançant FileStream. A continuació, hem utilitzat un mètode de readline senzill per llegir les dades del fitxer. Vam tancar el StreamReader i després el FileStream.
El programa anterior va produir la següent sortida:
Sortida:
S'ha obert el fitxer
Lectura de dades del fitxer
Les dades del fitxer són les següents: Escriptura de dades al fitxer mitjançant l’escriptor de fluxos
File Stream tancat
llocs animats gratuïts per veure en línia
C #TextWriter
A C #, la classe TextWriter s’escriu com una classe abstracta. S'utilitza per crear una sèrie seqüencial de caràcters dins d'un fitxer. És força similar a l’escriptor de flux que també permet a l’usuari escriure caràcters seqüencials o text en un fitxer, però no requereix la creació de FileStream per a l’operació.
Exemple per saber com funciona 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(); } } }
El codi anterior funciona de manera similar al StreamWriter. El mètode WriteLine escriu les dades dins del fitxer. Podeu escriure diverses dades al fitxer mitjançant diversos mètodes WriteLine dins del bloc d’instruccions using.
La sortida crearà un fitxer de text amb el text definit per l'usuari.
Sortida:
C #Lector de text
El lector de text és una altra classe que es troba a System.IO. S'utilitza per llegir text o qualsevol caràcter seqüencial d'un fitxer determinat.
Exemple:
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(); } } }
Al programa anterior, hem utilitzat TextReader per obrir un fitxer que es conserva en una ubicació concreta. Després vam declarar una variable de cadena per emmagatzemar les dades del fitxer. El mètode ReadToEnd garanteix la lectura de totes les dades del fitxer. Després, vam imprimir les dades a la consola.
La sortida del programa anterior serà:
La primera línia amb escriptor de text
Conclusió
L’espai de noms System.IO dins de C # ofereix diverses classes i mètodes per permetre als programadors realitzar operacions de lectura-escriptura en diferents fitxers. System.IO conté diverses classes com FileStream, StreamReader, StreamWriter, TextReader, TextWriter, etc.
Totes aquestes classes proporcionen una implementació específica per a les operacions d'escriptura de lectura al fitxer en funció del requisit.
Mostra de codi
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(); } } }
=> Mireu aquí la sèrie completa d’entrenaments C #
Lectura recomanada
- Manipulació de fitxers a Unix: Visió general del sistema de fitxers Unix
- Caràcters especials o metacaràcters Unix per a la manipulació de fitxers
- Permisos d'accés a fitxers Unix: Unix Chmod, Chown i Chgrp
- Objectes de fitxer VBScript: CopyFile, DeleteFile, OpenTextFile, lectura i escriptura de fitxers de text
- Operacions de sortida d'entrada de fitxers en C ++
- Desplegament de Java: creació i execució del fitxer JAR de Java
- Com comparar dos fitxers a Unix: ordres de comparació de fitxers
- Scripts avançats de Shell Unix: matrius, operadors de proves de fitxers i cadenes, variables especials