Empêche d'oublier de supprimer un fichier temporaire ou de se terminer sans supprimer le fichier au moment d'une interruption anormale.
Supprimer le fichier temporaire avec l'instruction de suppression
Path path = null;
try {
//Création de fichiers temporaires
path = Files.createTempFile("test", ".tmp");
OutputStream out = Files.newOutputStream(path);
String data = "test";
out.write(data.getBytes());
//Écrire dans un fichier
out.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
//Supprimer le fichier à la fin du traitement
Files.deleteIfExists(path);
}
Dans cette implémentation, il semble qu'il ne puisse pas être supprimé lorsque la JVM se termine anormalement.
DELETE_ON_Suppression de fichiers temporaires avec CLOSE
Path path = null;
try {
//Création de fichiers temporaires
path = Files.createTempFile("test", ".temp");
try (BufferedWriter bw = Files.newBufferedWriter(path, StandardOpenOption.DELETE_ON_CLOSE)) {
String data = "test";
//Écrire dans un fichier
bw.write(data);
}
} catch (IOException e) {
e.printStackTrace();
}
Lorsque DELETE_ON_CLOSE de StandardOpenOption est utilisé comme option lors de l'ouverture d'un fichier Les fichiers sont automatiquement supprimés lorsque le flux est fermé. De plus, en utilisant la syntaxe «try-with-resources», la fermeture et la suppression de fichiers sont automatiquement exécutées sans implémenter le processus de fermeture, donc l'implémentation est soignée et il n'y a pas d'omissions.
Recommended Posts