Pochopení a manipulace s textovými soubory je zásadním úkolem v jakékoli formě vývoje. Čtení textového souboru do seznamu řetězců je tedy běžně se vyskytující scénář v programování v C#. Tato operace může být užitečná v mnoha situacích, jako je správa uživatelských dat, analýza konfiguračních souborů nebo dokonce obsluha jednoduchých databázových operací. V průběhu naší diskuse použijeme některé základní knihovny C#, jmenovitě knihovnu System.IO, pro provádění operací se soubory.
C# nabízí řadu metod pro zpracování operací s textovými soubory. V tomto případě se však zaměříme především na využití StreamReader třída a Soubor třídy za účelem.
Třída StreamReader a metoda ReadToEnd
Jedno StreamReader class je součástí knihovny System.IO v C#. Umožňuje aplikaci číst znaky z toku bajtů v určitém kódování. Kombinací této funkce s ReadToEnd můžeme číst z textového souboru řádek po řádku, dokud není dosaženo konce souboru.
pomocí System.IO;
...
Seznam
pomocí (StreamReader sr = new StreamReader(“filename.txt”))
{
šňůra;
while ((line = sr.ReadLine()) != null)
{
řádky.Přidat(řádek);
}
}
Seznam a jeho užitečnost v C#
Při práci s více datovými položkami stejného typu, nebo v našem případě s více řádky textového souboru, Seznam je extrémně efektivní a všestranná datová struktura. Představuje silně typizovaný seznam objektů, ke kterým lze přistupovat pomocí indexu.
Seznam nabízí několik metod, které usnadňují provádění běžných operací, jako je přidávání položek, odebírání položek nebo vyhledávání položek, jak je ukázáno ve fragmentu kódu výše.
Metoda File.ReadAllLines
Dalším přímým způsobem, jak načíst textový soubor do seznamu řetězců, je použití ReadAllLines metoda z Soubor třídy v System.IO. Metoda přečte všechny řádky souboru a vrátí celý textový obsah souboru jako pole řetězců. V případě potřeby můžeme toto pole snadno převést na seznam řetězců.
pomocí System.IO;
...
Seznam
Prostřednictvím výše uvedené diskuse jsme prozkoumali různé způsoby načítání textového souboru do seznamu řetězců pomocí vestavěné funkce v C#. Od použití robustní třídy StreamReader po praktickou třídu File jsme viděli, jak využití výkonu knihovny System.IO může zefektivnit a zjednodušit běžné úlohy spojené se soubory v programování v C#.