C# Legge un file di testo linea per linea

Minahil Noor 12 ottobre 2023
  1. Leggere un file di testo linea per linea utilizzando il metodo File.ReadLines() in C#
  2. Leggere un file di testo linea per linea utilizzando il metodo File.ReadAllLines() in C#
  3. Leggere un file di testo linea per linea utilizzando il metodo StreamReader.ReadLine() in C#
C# Legge un file di testo linea per linea

Possiamo eseguire diverse operazioni su un file di testo. Per utilizzare questi dati in qualsiasi programma, dobbiamo prima leggere quei dati in una struttura dati adeguata.

In C# esistono diversi modi per leggere un file di testo linea per linea in modo efficiente. Continua a leggere di seguito per trovare questi modi.

Leggere un file di testo linea per linea utilizzando il metodo File.ReadLines() in C#

Il metodo File.ReadLines() è il metodo migliore trovato per leggere un file di testo linea per linea in modo efficiente. Questo metodo restituisce un Enumerable per file di testo di grandi dimensioni, ecco perché abbiamo creato un oggetto Enumerable string per memorizzare il file di testo.

La sintassi corretta per utilizzare questo metodo è la seguente:

File.ReadLines(FileName);

Codice di esempio:

using System;
using System.Collections.Generic;
using System.IO;

public class ReadFile {
  public static void Main() {
    string FileToRead = @"D:\New folder\textfile.txt";
    // Creating enumerable object
    IEnumerable<string> line = File.ReadLines(FileToRead);
    Console.WriteLine(String.Join(Environment.NewLine, line));
  }
}

Produzione:

// All the text, the file contains will display here.

Il metodo File.ReadLines() genera una IOException se si verifica un problema durante l’apertura del file e FileNotFoundException se il file richiesto non esiste.

Leggere un file di testo linea per linea utilizzando il metodo File.ReadAllLines() in C#

Il metodo File.ReadAllLines() può essere utilizzato anche per leggere un file linea per linea. Non restituisce un Enumerable ma restituisce un array di stringhe che contiene tutte le linee del file di testo.

La sintassi corretta per utilizzare questo metodo è la seguente:

File.ReadAllLines(FileName);

Codice di esempio:

using System;
using System.IO;

public class ReadFile {
  public static void Main() {
    string FileToRead = @"D:\New folder\textfile.txt";
    // Creating string array
    string[] lines = File.ReadAllLines(FileToRead);
    Console.WriteLine(String.Join(Environment.NewLine, lines));
  }
}

Produzione:

// All the text, the file contains will display here.

Questo metodo genera anche eccezioni proprio come il metodo File.ReadLines(). Queste eccezioni vengono quindi gestite utilizzando un blocco try-catch.

Leggere un file di testo linea per linea utilizzando il metodo StreamReader.ReadLine() in C#

La classe StreamReader in C# fornisce un metodo StreamReader.ReadLine(). Questo metodo legge un file di testo alla fine linea per linea.

La sintassi corretta per utilizzare questo metodo è la seguente:

// We have to create Streader Object to use this method
StreamReader ObjectName = new StreamReader(FileName);
ObjectName.ReadLine();

Codice di esempio:

using System;
using System.IO;

public class ReadFile {
  public static void Main() {
    string FileToRead = @"D:\New folder\textfile.txt";
    using (StreamReader ReaderObject = new StreamReader(FileToRead)) {
      string Line;
      // ReaderObject reads a single line, stores it in Line string variable and then displays it on
      // console
      while ((Line = ReaderObject.ReadLine()) != null) {
        Console.WriteLine(Line);
      }
    }
  }
}

Produzione:

// All the text, the file contains will display here.

Articolo correlato - Csharp File