Gestione dei file in C#: I/O Operazioni [Esempi]

C# ha una vasta gamma di operazioni sui file. Queste operazioni includono l'apertura di un file, la lettura o la scrittura su un file. Potrebbero esserci casi in cui desideri lavorare direttamente con i file, nel qual caso utilizzeresti le operazioni sui file disponibili in C#. Alcune delle operazioni di base sui file sono menzionate di seguito.

  1. Lettura: questa operazione è l'operazione di lettura di base in cui i dati vengono letti da un file.
  2. Scrittura: questa operazione è l'operazione di scrittura di base in cui i dati vengono scritti in un file. Per impostazione predefinita, tutti i contenuti esistenti vengono rimossi dal file e viene scritto nuovo contenuto.
  3. Aggiunta: questa operazione comporta anche la scrittura di informazioni in un file. L'unica differenza è che i dati esistenti in un file non vengono sovrascritti. I nuovi dati da scrivere vengono aggiunti alla fine del file.

Comandi I/O di base

C# e .Net possono funzionare con i file con l'aiuto di diversi comandi I/O file. Diamo un'occhiata ad alcuni di questi comandi. Per il nostro esempio, supponiamo di avere un file nell'unità D chiamato Esempio.txt.
Il file sarà un semplice file di testo e avrà 2 righe come mostrato di seguito

  • Guru99 – .Net
  • Guru99 -C#

Per il nostro esempio, creeremo una semplice applicazione Console e lavoreremo con i nostri comandi I/O file. L'applicazione console è quella di base creata nel tutorial precedente. Nell'applicazione console tutto il codice viene scritto nel file program.cs.

Il file esiste

Il metodo File esiste viene utilizzato per verificare se esiste un particolare file. Vediamo ora quindi il codice che può essere utilizzato per verificare se il nostro file Esempio.txt esiste o meno. Inserisci il codice seguente nel file program.cs.

Il file esiste

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";
   
   if (File.Exists(path))
   {
    Console.WriteLine("File Exists");
   }
   Console.ReadKey();
  }
 }
}

Spiegazione del codice: -

  1. Innanzitutto, impostiamo una variabile stringa con il percorso del nostro file Esempio.txt.
  2. Successivamente, utilizziamo il metodo File.Exists per verificare se il file esiste o meno. Se il file esiste, verrà restituito un valore vero.
  3. Se otteniamo un valore vero e il file esiste, scriviamo il messaggio "File Exists" sulla console.

Una volta impostato il codice sopra riportato e eseguito il progetto tramite Visual Studio, si otterrà l'output seguente.

Produzione:-

Il file esiste

Dall'output precedente, puoi vedere che il comando File.Exists è stato eseguito correttamente e nella finestra della console è stato visualizzato il messaggio corretto.

File.ReadAlllines

Il metodo viene utilizzato per leggere tutte le righe una per una in un file. Le righe vengono quindi archiviate in una variabile di matrice di stringhe. Diamo un'occhiata a un esempio. Inserisci il codice seguente nel file program.cs.

File.ReadAlllines

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";

   String[] lines;
   lines = File.ReadAllLines(path);

   Console.WriteLine(lines[0]);
   Console.WriteLine(lines[1]);

   Console.ReadKey();
  }
 }
}

Spiegazione del codice: -

  1. Innanzitutto, dichiariamo una variabile di array di stringhe. Questo verrà utilizzato per memorizzare il risultato che verrà restituito dal metodo File.ReadAllLines.
  2. Successivamente, utilizziamo il metodo File.ReadAllLines per leggere tutte le righe dal nostro file di testo. Il risultato viene quindi passato alla variabile lines.
  3. Poiché sappiamo che il nostro file contiene solo 2 righe, possiamo accedere al valore delle variabili dell'array tramite il comando righe[0] e righe[1].

Quando viene impostato il codice precedente e il progetto viene eseguito utilizzando Di Visual Studio, otterrai l'output seguente.

Produzione:-

File.ReadAlllines

Dall'output, puoi vedere che il comando File.ReadAllLines ha restituito entrambe le righe dal nostro file Esempio.txt

File.LeggiTuttoTesto

Questo metodo viene utilizzato per leggere tutte le righe di un file contemporaneamente. Le righe vengono quindi memorizzate in una variabile stringa. Diamo un'occhiata a un esempio. Inserisci il codice seguente nel file program.cs.

File.LeggiTuttoTesto

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";

    String lines;
    lines = File.ReadAllText(path);
    Console.WriteLine(lines);
 
    Console.ReadKey();
   }
  }
}

Spiegazione del codice: -

  1. Per prima cosa dichiariamo una variabile stringa chiamata Lines. Questo verrà utilizzato per memorizzare il risultato che verrà restituito dal metodo File.ReadAllText.
  2. Successivamente, utilizziamo il metodo File.ReadAllText per leggere tutte le righe dal nostro file di testo. Il risultato viene quindi passato alla variabile lines.
  3. Possiamo utilizzare direttamente il metodo Console.Writeline per visualizzare il valore della variabile Lines.

Una volta impostato il codice sopra riportato e eseguito il progetto tramite Visual Studio, si otterrà l'output seguente.

Produzione:-

File.LeggiTuttoTesto

Dall'output, puoi vedere che il comando File.ReadAlltext ha restituito entrambe le righe dal nostro file Esempio.txt

File.Copia

Il metodo viene utilizzato per creare una copia di un file esistente. Diamo un'occhiata a un esempio. Inserisci il codice seguente nel file program.cs.

File.Copia

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   String copypath = @"D:\ExampleNew.txt";

   File.Copy(path,copypath);

   Console.ReadKey();
   }
  }
}

Spiegazione del codice: -

  1. Innanzitutto, dichiariamo una variabile stringa chiamata path. Questa sarà la posizione del nostro file Esempio.txt. Questo file sarà il file di origine utilizzato per l'operazione di copia.
  2. Successivamente, dichiariamo una variabile stringa chiamata copypath. Questa sarà la posizione di un nuovo file chiamato file EsempioNew.txt. Questo sarà il file di destinazione in cui verranno scritti i contenuti del file sorgente Esempio.txt.
  3. Chiamiamo quindi il metodo File.Copy per copiare il file Esempio.txt nel file EsempioNew.txt.

Una volta impostato il codice sopra riportato e eseguito il progetto tramite Visual Studio, il file Example.txt verrà copiato in ExampleNew.txt.

File.Elimina

Il metodo viene utilizzato per eliminare un file esistente. Diamo un'occhiata a un esempio. Inserisci il codice seguente nel file program.cs.

File.Elimina

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   File.Delete(path);

   Console.ReadKey();
   }
  }
}

Spiegazione del codice: -

  1. Innanzitutto, dichiariamo una variabile stringa chiamata path. Questa sarà la posizione del nostro file Esempio.txt. Questo è il file che verrà eliminato.
  2. Successivamente, chiameremo il metodo File.Delete per eliminare il file.

Una volta impostato il codice sopra riportato e eseguito il progetto tramite Visual Studio, il file Example.txt verrà eliminato dall'unità D.

Sommario

  • C# dispone di una serie di operazioni sui file che possono essere eseguite sui file. La maggior parte di queste operazioni fanno parte della classe File.
  • Se desideri leggere dati da un file, puoi utilizzare i metodi File.ReadAlltext o File.ReadAllLines.
Metodo file Descrizione
Il file esiste Il metodo File esiste viene utilizzato per verificare se esiste un particolare file.
File.ReadAlllines Il metodo viene utilizzato per leggere tutte le righe una per una in un file.
File.LeggiTuttoTesto Questo metodo viene utilizzato per leggere tutte le righe di un file contemporaneamente.
File.Copia Il metodo viene utilizzato per creare una copia di un file esistente.
File.Elimina Il metodo viene utilizzato per eliminare un file esistente.