Je recherche un moyen sûr de créer un fichier temporaire en Java. Par sûr, je veux dire ce qui suit:
- Le nom doit être unique, même dans des conditions de concurrence potentielles (par exemple, un autre thread appelle la même fonction en même temps, ou un autre processus exécute ce code simultanément)
- Le fichier doit être privé, même dans des conditions de concurrence potentielles (par exemple, un autre utilisateur essaie de chmod fichier à un débit élevé)
- Je peux lui dire de supprimer le fichier, sans que je doive faire une suppression générique, et risquer de supprimer le mauvais fichier
- Idéalement, je dois vous assurer que le fichier est supprimé, même si une exception est levée avant que j'aie la chance de
- Le fichier doit être par défaut à un emplacement sain (par exemple, le répertoire tmp spécifié par la JVM, par défaut le répertoire temporaire du système)
File f = File.createTempFile(prefix, extension)
. Il sera placé dans le répertoire temporaire. Et avecf.deleteOnExit()
elle sera automatiquement supprimée à la sortie.