Saya mencari cara yang aman untuk membuat file temp di Java. Yang saya maksud dengan aman adalah sebagai berikut:
- Nama harus unik, bahkan dalam kondisi balapan potensial (mis. Thread lain memanggil func yang sama pada waktu yang sama, atau proses lain menjalankan kode ini secara bersamaan)
- File harus bersifat pribadi, bahkan dalam kondisi balapan potensial (mis. Pengguna lain mencoba mengubah file chmod dengan kecepatan tinggi)
- Saya dapat memberitahukannya untuk menghapus file, tanpa saya harus melakukan penghapusan umum, dan berisiko menghapus file yang salah
- Idealnya, harus memastikan file dihapus, bahkan jika pengecualian dilemparkan sebelum saya sempat
- File harus default ke lokasi yang waras (misalnya direktori tmp yang ditentukan JVM, default ke direktori suhu sistem)
File f = File.createTempFile(prefix, extension)
. Ini akan ditempatkan di dir temp. Dan denganf.deleteOnExit()
itu akan secara otomatis dihapus saat keluar.