Entendre i manejar fitxers de text és una tasca crucial en qualsevol forma de desenvolupament. Per tant, llegir un fitxer de text en una llista de cadenes és un escenari que es troba habitualment a la programació C#. Aquesta operació pot ser útil en infinitat de situacions, com ara gestionar dades d'usuari, analitzar fitxers de configuració o fins i tot gestionar operacions senzilles de bases de dades. Al llarg de la nostra discussió, utilitzarem algunes biblioteques C# fonamentals, és a dir, la biblioteca System.IO, per dur a terme operacions de gestió de fitxers.
C# ofereix una gran quantitat de mètodes per gestionar operacions amb fitxers de text. Tanmateix, en aquest cas, ens centrarem principalment en la utilització de la classe StreamReader i la classe File per a aquest propòsit.
Classe StreamReader i mètode ReadToEnd
La classe StreamReader forma part de la biblioteca System.IO de C#. Permet a una aplicació llegir caràcters d'un flux de bytes en una codificació particular. Combinant aquesta funcionalitat amb el mètode ReadToEnd , podem llegir un fitxer de text línia per línia fins que s'arriba al final del fitxer.
utilitzant System.IO;
...
llista
utilitzant (StreamReader sr = new StreamReader ("nomfitxer.txt"))
{
línia de corda;
mentre que ((línia = sr.ReadLine()) != nul)
{
línies.Afegir(línia);
}
}
Llista i la seva utilitat en C#
Quan es tracta de múltiples elements de dades del mateix tipus, o en el nostre cas, múltiples línies d'un fitxer de text, List és una estructura de dades extremadament eficient i versàtil. Representa una llista d'objectes fortament tipada a la qual es pot accedir mitjançant un índex.
La llista ofereix diversos mètodes que faciliten la realització d'operacions habituals, com ara afegir elements, eliminar elements o trobar elements, tal com es mostra al fragment de codi anterior.
Mètode File.ReadAllLines
Una altra manera senzilla de carregar un fitxer de text en una llista de cadenes és mitjançant el mètode ReadAllLines de la classe File de System.IO. El mètode llegeix totes les línies d'un fitxer i retorna tot el contingut de text del fitxer com una matriu de cadenes. Podem convertir fàcilment aquesta matriu en una llista de cadenes si cal.
utilitzant System.IO;
...
llista
A través de la discussió anterior, vam explorar diferents maneres de carregar un fitxer de text en una llista de cadenes mitjançant la funcionalitat integrada en C#. Des de l'ús de la robusta classe StreamReader fins a la pràctica classe File, vam veure com aprofitar el poder de la biblioteca System.IO pot racionalitzar i simplificar les tasques habituals d'operació de fitxers a la programació C#.