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

โšก Riepilogo intelligente

Le operazioni sui file in C# consentono di leggere, scrivere, copiare ed eliminare file utilizzando lo spazio dei nomi System.IO. Qui imparerai a usare File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy e File.Delete con chiari esempi di codice.

  • ๐Ÿ“‚ Che cosa รจ: Operazioni sui file in C#: lettura, scrittura, copia ed eliminazione di file tramite lo spazio dei nomi System.IO.
  • โœ… FileExists: File.Exists(path) verifica se un file รจ presente prima di leggerlo o eliminarlo.
  • ???? Lettura: File.ReadAllLines restituisce un array di stringhe, mentre File.ReadAllText restituisce l'intero file come un'unica stringa.
  • ๐Ÿ“‹ Copia ed elimina: File.Copy duplica un file in un nuovo percorso e File.Delete lo elimina.
  • ๐Ÿค– Aiuto tramite intelligenza artificiale: Strumenti di intelligenza artificiale come GitHub Copilot generano istantaneamente codice C# per la gestione dei file.

File C# Operazioni

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();
  }
 }
}

Code Spiegazione:-

  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();
  }
 }
}

Code Spiegazione:-

  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();
   }
  }
}

Code Spiegazione:-

  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();
   }
  }
}

Code Spiegazione:-

  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();
   }
  }
}

Code Spiegazione:-

  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.

Riferimento ai metodi file di C#

La tabella seguente riassume i principali metodi dei file C# e la funzione di ciascuno di essi.

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.

DOMANDE FREQUENTI

Le operazioni sui file in C# consentono di leggere, scrivere, copiare, aggiungere ed eliminare file. La maggior parte dei metodi appartiene alla classe System.IO.File, come File.Exists, File.ReadAllText, File.Copy e File.Delete.

Utilizza File.Exists(path), che restituisce true se il file esiste e false altrimenti. Verificalo prima di leggere o eliminare un file per evitare eccezioni in fase di esecuzione.

File.ReadAllLines restituisce ogni riga come elemento di un array di stringhe, mentre File.ReadAllText restituisce l'intero contenuto del file come un'unica stringa.

Chiama File.Copy(sourcePath, destinationPath). Crea un nuovo file nella destinazione contenente il contenuto del file sorgente.

Chiama File.Delete(path). Questa operazione rimuove definitivamente il file, quindi verifica prima la sua esistenza con File.Exists per evitare un'eccezione FileNotFoundException.

Gli assistenti basati sull'intelligenza artificiale come GitHub Copilot completano automaticamente le chiamate a File.ReadAllText, File.Copy e File.Delete e generano codice try-catch per la gestione dei file a partire da un breve commento che descrive l'attivitร .

Sรฌ. Gli strumenti basati sull'intelligenza artificiale generano metodi di lettura e scrittura, suggeriscono metodi StreamReader o File e aggiungono la gestione delle eccezioni, rendendo il codice piรน sicuro.

Aggiungi using System.IO; all'inizio del tuo programma. Lo spazio dei nomi System.IO contiene File, StreamReader e StreamWriter classi utilizzate per la gestione dei file.

Riassumi questo post con: