back to top

Utilizzo di I/0 in C# – Leggere e scrivere file di testo

Le funzioni di Input/Output (abbreviate come funzioni I/O) ci permettono di leggere e scrivere dati su file, sia in modo binario che testuale. In questa lezione della nostra guida a C# vedremo le funzioni che operano in modalità testuale.

Fortunatamente per noi, il framework rende davvero facile manipolare file. Tramite un set di classi molto completo vedremo come scrivere e leggere un file di testo usando C#.

Scrivere un file di testo con C#

Per scrivere file si usa il namespace System.IO, si instanzia un oggetto TextWriter e si usa il metodo WriteLine per scrivere, all’interno del file, una riga contenente dei dati. Vediamo un esempio:

using System.IO;
class Esempio
{
    public static void Main()
    {
        //creo e apro un file
        TextWriter TestoScrittore = new StreamWriter("c:\\data.txt");
        //scrivo una linea
        TestoScrittore.WriteLine(System.DateTime.Now);
        // chiudo lo stream
        TestoScrittore.Close();
    }
}

Nel nostro esempio abbiamo:

  • istanziato l’oggetto TextWriter mediante la classe StreamWriter, specificando il percorso ed il nome del file su cui scrivere;
  • scritto una riga contenente l’orario corrente;
  • chiuso il file mediante il metodo Close.

Leggere un file di testo con C#

Per leggere un file basta è necessario istanziare un oggetto TextReader mediante la classe StreamReader in questo modo:

using System.IO;
class Esempio
{
    public static void Main()
    {
        //apro un file
        TextReader TestoLettore = new StreamReader("c:\\date.txt");
        //leggo una linea
        System.Console.WriteLine(TestoLettore.ReadLine());
        // chiudo lo stream
        TestoLettore.Close();
    }
}

Nel codice qui sopra abbiamo utilizzato il metodo ReadLine per leggere la prima riga del file. Se avessimo voluto leggere l’intero file avremmo potuto usare il metodo ReadToEnd in questo modo:

string InteroTesto = TestoLettore.ReadToEnd();

Per il resto valgono le osservazioni già fatte al punto precedente relativamente all’esempio di TextWriter.

Pubblicità