Creare file e directory

Completato

La creazione e l'eliminazione di nuovi file e directory a livello di programmazione è un requisito comune per le applicazioni line-of-business.

Fino a questo punto si è appreso come lavorare con file e directory usando la classe Directory. È anche possibile usare la classe Directory per creare, eliminare, copiare, spostare e modificare in altro modo le directory in un sistema a livello di codice. È possibile usare una classe analoga, chiamata File, per eseguire le stesse operazioni sui file.

In questa unità si apprende come usare le classi Directory e File per creare directory e file.

Creare directory

Per creare le directory, usare il metodo Directory.CreateDirectory. Il metodo seguente crea una nuova cartella denominata newDir all'interno della cartella 201:

Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "stores","201","newDir"));

Se /stores/201 non esiste già, la cartella viene creata automaticamente. Il metodo CreateDirectory non ha esito negativo, ma crea le directory e le sottodirectory passate.

Verificare che le directory esistano

A volte è necessario controllare se una directory esiste già. Ad esempio, potrebbe essere necessario eseguire il controllo prima di creare un file in una directory specificata per evitare un'eccezione che potrebbe causare l'arresto improvviso del programma.

Per verificare se esiste una directory, usare il metodo Directory.Exists:

bool doesDirectoryExist = Directory.Exists(filePath);

Creare file

È possibile creare file usando il metodo File.WriteAllText. Questo metodo accetta un percorso del file e i dati da scrivere nel file. Se il file esiste già, verrà sovrascritto.

Ad esempio, questo codice crea un file denominato greeting.txt contenente il testo "Hello World!":

File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "greeting.txt"), "Hello World!");

Nell'esercizio seguente vengono applicate le conoscenze acquisite sulla creazione di file e directory per ampliare il programma. L'obiettivo è creare una directory in cui archiviare il totale di ciascun file relativo alle vendite del negozio.