Crea un file in una directory specifica in Java

1. Panoramica

In questo breve tutorial, vedremo come creare un file in una directory specifica.

Vedremo la differenza tra percorsi file assoluti e relativi e utilizzeremo percorsi che funzionano su diversi sistemi operativi principali.

2. Percorsi file assoluti e relativi

2.1. Percorsi assoluti

Cominciamo con la creazione di un file in una directory facendo riferimento all'intero percorso , noto anche come percorso assoluto. Per dimostrare, useremo il percorso assoluto della directory temporanea dell'utente e aggiungeremo il nostro file al suo interno.

Stiamo usando Files.touch () , che fa parte di Google Guava, come un modo semplice per creare un file vuoto:

File tempDirectory = new File(System.getProperty("java.io.tmpdir")); File fileWithAbsolutePath = new File(tempDirectory.getAbsolutePath() + "/testFile.txt"); assertFalse(fileWithAbsolutePath.exists()); Files.touch(fileWithAbsolutePath); assertTrue(fileWithAbsolutePath.exists());

2.2. Percorsi relativi

Possiamo anche creare un file in una directory relativa a un'altra directory . Ad esempio, creiamo un file nella directory temporanea dell'utente :

File tempDirectory = new File(System.getProperty("java.io.tmpdir")); File fileWithRelativePath = new File(tempDirectory, "newFile.txt"); assertFalse(fileWithRelativePath.exists()); Files.touch(fileWithRelativePath); assertTrue(fileWithRelativePath.exists());

Nell'esempio precedente, il nostro nuovo file viene aggiunto al percorso della directory temporanea dell'utente .

3. Utilizzo di un separatore di file indipendente dalla piattaforma

Per costruire percorsi di file, dobbiamo usare separatori come / o \ . Tuttavia, il separatore appropriato da utilizzare dipende dal sistema operativo . Fortunatamente, c'è un modo più semplice. Possiamo usare File.separator di Java invece dei caratteri separatori. Di conseguenza, Java sceglie il separatore appropriato per noi.

Diamo un'occhiata a un esempio di creazione di un file con questo metodo:

File tempDirectory = new File(System.getProperty("java.io.tmpdir")); File newFile = new File(tempDirectory.getAbsolutePath() + File.separator + "newFile.txt"); assertFalse(newFile.exists()); Files.touch(newFile); assertTrue(newFile.exists());

Utilizzando File.separator , Java sa come costruire percorsi basati sul file system sottostante.

4. Conclusione

In questo articolo, abbiamo esplorato le differenze tra percorsi assoluti e relativi e come creare percorsi di file che funzionano su diversi sistemi operativi principali.

Come sempre, il codice di esempio è disponibile su GitHub.