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 som ReadAllTextAsync 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: