Razumevanje in ravnanje z besedilnimi datotekami je ključna naloga v kateri koli obliki razvoja. Tako je branje besedilne datoteke v seznam nizov pogost scenarij pri programiranju C#. Ta operacija je lahko uporabna v neštetih situacijah, kot je upravljanje uporabniških podatkov, razčlenjevanje konfiguracijskih datotek ali celo upravljanje preprostih operacij baze podatkov. Skozi našo razpravo bomo uporabljali nekatere temeljne knjižnice C#, in sicer knjižnico System.IO, za izvajanje operacij obdelave datotek.
C# ponuja številne metode za obdelavo operacij z besedilnimi datotekami. Vendar se bomo v tem primeru osredotočili predvsem na uporabo razreda StreamReader in razreda File.
Razred StreamReader in metoda ReadToEnd
Razred StreamReader je del knjižnice System.IO v jeziku C#. Aplikaciji omogoča branje znakov iz bajtnega toka v določenem kodiranju. S kombinacijo te funkcionalnosti z metodo ReadToEnd lahko beremo iz besedilne datoteke vrstico za vrstico, dokler ne dosežemo konca datoteke.
z uporabo System.IO;
...
Seznam
z uporabo (StreamReader sr = new StreamReader(“imedatoteke.txt”))
{
vrvica;
medtem ko ((vrstica = sr.ReadLine()) != null)
{
lines.Add(line);
}
}
Seznam in njegova uporabnost v C#
Pri obravnavi več podatkovnih elementov iste vrste ali v našem primeru več vrstic besedilne datoteke je List izjemno učinkovita in vsestranska podatkovna struktura. Predstavlja seznam objektov z močnim tipom, do katerih je mogoče dostopati z indeksom.
Seznam ponuja več metod, ki olajšajo izvajanje običajnih operacij, kot je dodajanje elementov, odstranjevanje elementov ali iskanje elementov, kot je prikazano v zgornjem delčku kode.
Metoda File.ReadAllLines
Drug preprost način za nalaganje besedilne datoteke v seznam nizov je uporaba metode ReadAllLines iz razreda File v System.IO. Metoda prebere vse vrstice datoteke in vrne celotno besedilno vsebino datoteke kot polje nizov. To polje lahko po potrebi preprosto pretvorimo v seznam nizov.
z uporabo System.IO;
...
Seznam
Skozi zgornjo razpravo smo raziskali različne načine nalaganja besedilne datoteke na seznam nizov z uporabo vgrajene funkcionalnosti v C#. Od uporabe robustnega razreda StreamReader do priročnega razreda File smo videli, kako lahko izkoriščanje moči knjižnice System.IO racionalizira in poenostavi pogoste naloge upravljanja datotek v programiranju C#.