Créer un fichier dans un répertoire spécifique en Java

1. Vue d'ensemble

Dans ce rapide tutoriel, nous allons voir comment créer un fichier dans un répertoire spécifique.

Nous verrons la différence entre les chemins de fichiers absolus et relatifs, et nous utiliserons des chemins qui fonctionnent sur plusieurs systèmes d'exploitation majeurs.

2. Chemins de fichiers absolus et relatifs

2.1. Chemins absolus

Commençons par créer un fichier dans un répertoire en faisant référence au chemin complet , également appelé chemin absolu. Pour démontrer, nous utiliserons le chemin absolu vers le répertoire temporaire de l'utilisateur et y ajouterons notre fichier.

Nous utilisons Files.touch () , qui fait partie de Google Guava, comme moyen simple de créer un fichier vide:

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. Chemins relatifs

Nous pouvons également créer un fichier dans un répertoire qui est relatif à un autre répertoire . Par exemple, créons un fichier dans le répertoire temporaire de l'utilisateur :

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());

Dans l'exemple ci-dessus, notre nouveau fichier est ajouté au chemin du répertoire temporaire de l'utilisateur .

3. Utilisation d'un séparateur de fichiers indépendant de la plate-forme

Pour construire des chemins de fichiers, nous devons utiliser des séparateurs comme / ou \ . Cependant, le séparateur approprié à utiliser dépend de votre système d'exploitation . Heureusement, il existe un moyen plus simple. Nous pouvons utiliser File.separator de Java au lieu de caractères de séparation. En conséquence, Java choisit le séparateur approprié pour nous.

Regardons un exemple de création d'un fichier avec cette méthode:

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());

En utilisant File.separator , Java sait comment construire des chemins basés sur le système de fichiers sous-jacent.

4. Conclusion

Dans cet article, nous avons exploré les différences entre les chemins absolus et relatifs et comment créer des chemins de fichiers fonctionnant sur plusieurs systèmes d'exploitation majeurs.

Comme toujours, l'exemple de code est disponible à l'adresse over sur GitHub.