C#:
Läsa en textfil
Hur gör man:
using System;
using System.IO;
class FileReaderExample
{
static void Main()
{
string filePath = @"C:\exempel\minTextfil.txt";
// Läs filen med ReadAllText-metoden
string allText = File.ReadAllText(filePath);
Console.WriteLine(allText);
// Eller läs filen rad för rad
string[] lines = File.ReadAllLines(filePath);
foreach (var line in lines)
{
Console.WriteLine(line);
}
}
}
Sample Output:
Hej, det här är texten i filen.
Andra raden här.
På Djupet:
Läsning av textfiler är grundläggande och har inte ändrats mycket i grunden sedan de tidiga programmeringsdagarna. Men i C# finns olika alternativ:
File.ReadAllText
/ReadAllLines
/ReadLines
är enkla och bra för mindre filer.StreamReader
är bättre för stora filer, eftersom den läser streamar data snarare än att ladda allt i minnet.async
metoder somReadAllTextAsync
möjliggör I/O-operationer utan att blockera huvudtråden vilket är bra för GUI-applikationer eller webbservers.
Historiskt sett, innan .NET och C#, var filhantering mer komplicerad och krävde ofta direkta anrop till operativsystemets APIer. C# och .NET förenklade processen rejält genom att kapsla in filhanteringsfunktioner i högnivå-klasser som System.IO.File.
Se även:
- Microsofts dokumentation om File-klassen i .NET.
- StreamReader-klassen för effektiv läsning av stora filer.