Löst: c skarpt hur man läser en textfil

Senaste uppdateringen: 09/11/2023
Författare: C SourceTrail

C# är ett modernt, allmänt, objektorienterat programmeringsspråk utvecklat av Microsoft. Dess mångsidighet har gjort det populärt, och det har visat sig vara ett otroligt effektivt sätt för utvecklare att skapa robusta och säkra applikationer. En sfär där C# lyser är i filhantering, som att läsa en textfil. Denna process involverar att ladda data från en textfil och manipulera den enligt våra behov. Men innan vi fördjupar oss i metodiken är det avgörande att förstå varför uppgiften är nödvändig och när den kan komma till användning.

Nödvändigheten av att läsa textfiler

Ofta underskattas användningen av data från textfiler. Men i C#-applikationer kan detta tjäna en mängd olika syften. Från att fungera som ett enkelt sätt att lagra data utan behov av en databas, till att vara den enda metoden att importera eller exportera data i vissa miljöer, är textfiler långt ifrån föråldrade.

I praktiken kan du behöva använda textfiler när du konfigurerar inställningar eller laddar en spelnivås tillstånd i ett spel. Det är också ett vanligt sätt att logga fel och programaktiviteter.

Komma igång med StreamReader Class

Att läsa en textfil i C# utförs med hjälp av StreamReader klass, som är en del av System.IO-namnområdet. Det är värt att notera att StreamReader-klassen inte är direkt ansvarig för att läsa textfilen, utan snarare fungerar som en agent mellan filen och programmet. Dess primära syfte är att läsa tecken från en byteström i en viss kodning.

använder System.IO;

offentlig klass program
{
public static void Main(string[] args)
{
using(StreamReader reader = new StreamReader(“filePath”))
{
sträng linje;
while((rad = reader.ReadLine()) != null)
{
System.Console.WriteLine(line);
}
}
}
}

Förstå den tillhandahållna koden

I ovanstående C#-program anger du först sökvägen till textfilen i StreamReader-konstruktorn. Filen läses sedan rad för rad med hjälp av ReadLine-metoden för StreamReader-klassen inuti en while-loop. Så länge det finns rader i textfilen som ska läsas (dvs resultatet av ReadLine-metoden är inte null), fortsätter loopen. Raden som läses skrivs sedan till konsolen med Console.WriteLine. Användningssatsen stänger automatiskt StreamReader när dess uppgift är slutförd, vilket sparar oss besväret att manuellt släppa ohanterade resurser.

Arbeta med filklass

Alternativt är att använda klassen File från .NET också ett effektivt sätt att läsa textfiler. Den tillhandahåller metoder för att manipulera filer och kataloger. Metoderna ReadAllLines och ReadAllText i klassen File är praktiska och kortfattade.

använder System.IO;

offentlig klass program
{
public static void Main(string[] args)
{
string[] lines = File.ReadAllLines(“filPath”);
foreach(sträng rad i rader)
{
System.Console.WriteLine(line);
}
}
}

Kodförklaring

I den här versionen av C#-programmet använder vi metoden ReadAllLines i klassen File för att läsa alla rader i textfilen till en strängarray i en enda operation. Vi går sedan igenom varje rad i strängarrayen med hjälp av en foreach loop och skriver raden till konsolen.

Det här är bara grundläggande exempel på hur man läser textfiler i C#. Beroende på ditt program kan du behöva hantera undantag, kontrollera om filen finns innan du försöker läsa den, eller utföra andra manipulationer på data.

Relaterade inlägg: