C# je moderan, objektno orijentiran programski jezik opće namjene koji je razvio Microsoft. Njegova svestranost učinila ga je popularnim i pokazao se kao nevjerojatno učinkovit način za programere da kreiraju robusne i sigurne aplikacije. Jedna sfera u kojoj C# blista je rukovanje datotekama, kao što je čitanje tekstualne datoteke. Ovaj proces uključuje učitavanje podataka iz tekstualne datoteke i manipuliranje njima prema našim potrebama. Ali prije nego što se udubimo u metodologiju, ključno je razumjeti zašto je zadatak neophodan i kada bi se mogao koristiti.
Nužnost čitanja tekstualnih datoteka
Često se podcjenjuje korištenje podataka iz tekstualnih datoteka. Međutim, u C# aplikacijama to može poslužiti u razne svrhe. Od toga da služe kao jednostavan način za pohranu podataka bez potrebe za bazom podataka, do toga da budu jedina metoda za uvoz ili izvoz podataka u određenim okruženjima, tekstualne datoteke su daleko od zastarjelih.
U praksi, možda ćete trebati iskoristiti tekstualne datoteke prilikom konfiguriranja postavki ili učitavanja stanja razine igre u igri. To je također uobičajeni način bilježenja pogrešaka i aktivnosti aplikacije.
Početak rada s klasom StreamReader
Čitanje tekstualne datoteke u C# izvodi se pomoću StreamReader klasa, koja je dio imenskog prostora System.IO. Vrijedno je napomenuti da klasa StreamReader nije izravno odgovorna za čitanje tekstualne datoteke, već radi kao posrednik između datoteke i programa. Njegova primarna svrha je čitanje znakova iz toka bajtova u određenom kodiranju.
korištenje System.IO;
javna klasa Program
{
javna statička praznina Main (string [] args)
{
koristeći (StreamReader čitač = novi StreamReader (“filePath”))
{
struna linija;
dok((linija = čitač.ReadLine()) != null)
{
System.Console.WriteLine(line);
}
}
}
}
Razumijevanje dostavljenog koda
U gornjem C# programu najprije odredite putanju tekstualne datoteke u StreamReader konstruktoru. Datoteka se zatim čita redak po redak pomoću metode ReadLine klase StreamReader unutar while petlje. Sve dok u tekstualnoj datoteci ima redaka za čitanje (tj. rezultat metode ReadLine nije null), petlja se nastavlja. Pročitani redak se zatim zapisuje u konzolu koristeći Console.WriteLine. Naredba using automatski zatvara StreamReader nakon što je njegov zadatak dovršen, štedeći nas od problema ručnog oslobađanja neupravljanih resursa.
Rad s klasom datoteke
Alternativno, korištenje klase File koju nudi .NET također je učinkovit način za čitanje tekstualnih datoteka. Pruža metode za manipuliranje datotekama i direktorijima. Metode ReadAllLines i ReadAllText klase File praktične su i sažete.
korištenje System.IO;
javna klasa Program
{
javna statička praznina Main (string [] args)
{
string[] lines = File.ReadAllLines(“filePath”);
foreach(niz linija u linijama)
{
System.Console.WriteLine(line);
}
}
}
Objašnjenje koda
U ovoj verziji C# programa koristimo metodu ReadAllLines klase File za čitanje svih redaka tekstualne datoteke u niz nizova u jednoj operaciji. Zatim prolazimo kroz svaki red u nizu nizova koristeći foreach petlju i zapisujemo redak u konzolu.
Ovo su samo osnovni primjeri kako čitati tekstualne datoteke u C#. Ovisno o vašoj aplikaciji, možda ćete morati obraditi iznimke, provjeriti postoji li datoteka prije pokušaja čitanja ili izvršiti druge manipulacije podacima.