Comment créer un fichier temporaire en Java

Il y a des moments où nous devons créer des fichiers temporaires à la volée pour stocker certaines informations et les supprimer par la suite.

En Java, nous pouvons utiliser Files.createTempFile() méthodes pour créer des fichiers temporaires.



Créer des fichiers temporaires

L'exemple suivant utilise Files.createTempFile(prefix, suffix) pour créer un fichier temporaire.


import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; public class CreateTempFile {
public static void main(String[] args) {

try {

// Create a temporary file

Path tempFile = Files.createTempFile('temp-', '.txt');

System.out.println('Temp file : ' + temp);

} catch (IOException e) {

e.printStackTrace();
}
} }

Production:

Temp file : /var/folders/nyckvw0000gr/T/temp-2129139085984899264.txt

Ici, «temp-» est le préfixe et «.text» est le suffixe.


Noter:Par défaut, Java crée le fichier temporaire dans le répertoire temporaire. Nous pouvons obtenir le répertoire temporaire en faisant System.getProperty('java.io.tmpdir')

Si le suffixe est nul, le fichier temporaire est créé avec .tmp extension.

Par example:

Path tempFile = Files.createTempFile('prefix-', null); System.out.println('Temp file : ' + tempFile); // Temp file : /var/folders/nyckvw0000gr/T/prefix-17184288103181464441.tmp

De plus, si le suffixe n'est pas fourni, un fichier temporaire est créé sans extension:

Path tempFile = Files.createTempFile(null, ''); System.out.println('Temp file : ' + tempFile); // Temp file : /var/folders/nyckvw0000gr/T/1874152090427250275

Créer un fichier temporaire dans un répertoire spécifié

Plutôt que de laisser Java choisir le répertoire, nous pouvons lui indiquer où créer le fichier temporaire.


Par example:

import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CreateTempFile {
public static void main(String[] args) {

try {

Path path = Paths.get('target/tmp/');

// Create a temporary file in the specified directory.

Path tempFile = Files.createTempFile(path, null, '.log');

System.out.println('Temp file : ' + temp);

} catch (IOException e) {

e.printStackTrace();
}
} }
Noter:Le répertoire spécifié doit exister pour que le fichier temporaire y soit écrit.

Créer un fichier temporaire et y écrire

L'exemple de code suivant crée un fichier temporaire, puis y écrit du texte:

import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class CreateTempFile {
public static void main(String[] args) {

try {

Path path = Paths.get('target/tmp/');

// Create an temporary file in a specified directory.

Path tempFile = Files.createTempFile(path, null, '.log');

System.out.println('Temp file : ' + tempFile);

// write a line

Files.write(tempFile, 'Hello From Temp File '.getBytes(StandardCharsets.UTF_8));

} catch (IOException e) {

e.printStackTrace();
}
} }

Lectures complémentaires: