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.

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.
- Lettura: questa operazione รจ l'operazione di lettura di base in cui i dati vengono letti da un file.
- 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.
- 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.
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:-
- Innanzitutto, impostiamo una variabile stringa con il percorso del nostro file Esempio.txt.
- Successivamente, utilizziamo il metodo File.Exists per verificare se il file esiste o meno. Se il file esiste, verrร restituito un valore vero.
- 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:-
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.
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:-
- Innanzitutto, dichiariamo una variabile di array di stringhe. Questo verrร utilizzato per memorizzare il risultato che verrร restituito dal metodo File.ReadAllLines.
- Successivamente, utilizziamo il metodo File.ReadAllLines per leggere tutte le righe dal nostro file di testo. Il risultato viene quindi passato alla variabile lines.
- 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:-
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.
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:-
- Per prima cosa dichiariamo una variabile stringa chiamata Lines. Questo verrร utilizzato per memorizzare il risultato che verrร restituito dal metodo File.ReadAllText.
- Successivamente, utilizziamo il metodo File.ReadAllText per leggere tutte le righe dal nostro file di testo. Il risultato viene quindi passato alla variabile lines.
- 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:-
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.
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:-
- 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.
- 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.
- 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.
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:-
- Innanzitutto, dichiariamo una variabile stringa chiamata path. Questa sarร la posizione del nostro file Esempio.txt. Questo รจ il file che verrร eliminato.
- 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. |








