Lavorare con File in C#
La gestione dei file è un aspetto fondamentale della programmazione per interagire con l’archiviazione dei dati. In C#, è possibile svolgere diverse operazioni come creare, scrivere, leggere, rinominare e eliminare file utilizzando le classi fornite dalla libreria System.IO
. Un elemento importante da considerare quando si lavora con i file è la modalità di accesso, che definisce come il file verrà gestito durante l’apertura. In questa lezione, esploreremo dettagliatamente come lavorare con i file in C# e useremo diversi esempi di modalità di accesso.
Creazione di un File
Per creare un nuovo file in C#, è possibile utilizzare la classe File
dalla libreria System.IO
.
Esempio di Creazione di un File:
using System;
using System.IO;
string filePath = @"C:\MiaCartella\MioFile.txt";
if (!File.Exists(filePath))
{
File.Create(filePath).Close();
Console.WriteLine("File creato con successo.");
}
Scrittura e Lettura da un File
È possibile scrivere e leggere da un file utilizzando la classe StreamWriter
per la scrittura e StreamReader
per la lettura.
Esempio di Scrittura e Lettura da un File:
using System;
using System.IO;
string filePath = @"C:\MiaCartella\MioFile.txt";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Ciao, Mondo!");
}
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine("Contenuto del file: " + content);
}
Modalità di Accesso ai File
Quando si apre un file, è possibile specificare una modalità di accesso che determina come il file verrà gestito. Di seguito sono elencate alcune delle modalità di accesso più comuni:
FileMode.Create
: Crea il file o sovrascrive se esistente.FileMode.Open
: Apre il file esistente per la lettura.FileMode.Append
: Apre il file esistente per l’aggiunta di contenuto.FileMode.OpenOrCreate
: Apre il file esistente o lo crea se non esiste.
Esempio di Utilizzo delle Modalità di Accesso:
using System;
using System.IO;
string filePath = @"C:\MiaCartella\MioFile.txt";
// Creazione di un file in modalità di creazione
using (StreamWriter writer = new StreamWriter(filePath, FileMode.Create))
{
writer.WriteLine("Contenuto del nuovo file.");
}
// Aggiunta di contenuto a un file esistente in modalità append
using (StreamWriter writer = new StreamWriter(filePath, FileMode.Append))
{
writer.WriteLine("Nuova riga di testo.");
}
Rinominare e Eliminare un File
Per rinominare e eliminare un file, è possibile utilizzare i metodi File.Move
e File.Delete
.
Esempio di Rinominare e Eliminare un File:
using System;
using System.IO;
string filePath = @"C:\MiaCartella\MioFile.txt";
string newFilePath = @"C:\MiaNuovaCartella\NuovoNome.txt";
// Rinomina il file
File.Move(filePath, newFilePath);
Console.WriteLine("File rinominato con successo.");
// Elimina il file
File.Delete(newFilePath);
Console.WriteLine("File eliminato con successo.");
Chiusura dei File
Per garantire che le risorse dei file siano rilasciate correttamente, è importante chiudere i file dopo averli utilizzati.
Esempio di Chiusura di un File:
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Contenuto del file.");
} // Il file viene chiuso automaticamente alla fine del blocco using.
Conclusione
Lavorare con i file è un’attività comune nella programmazione, e C# offre strumenti potenti per gestire le operazioni di creazione, scrittura, lettura, rinomina ed eliminazione dei file. Utilizzando le diverse modalità di accesso, è possibile controllare in modo preciso come i file vengono trattati durante l’apertura. Assicurarsi di seguire le pratiche di chiusura corrette per rilasciare correttamente le risorse e mantenere un codice pulito ed efficiente.