📢 Nuovo Corso Bootstrap Completo disponibile!

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.