1. ホーム
  2. java

[解決済み] JavaでTempファイルを作成する安全な方法は何ですか?

2022-05-05 03:45:05

質問

を探しています。 安全 Javaで一時ファイルを作成する方法。 安全というのは、以下のような意味です。

  • 潜在的な競合状態(例えば、別のスレッドが同時に同じ関数を呼び出したり、別のプロセスがこのコードを同時に実行したり)でも、名前はユニークであるべきです。
  • ファイルは、潜在的な競合状態(例えば、他のユーザーが高いレートでファイルをchmodしようとする)であっても、プライベートであるべきです。
  • ファイルを削除するように指示することができます。一般的な削除を行う必要がなく、間違ったファイルを削除してしまう危険性もありません。
  • 理想的なのは、たとえ例外が発生しても、ファイルが確実に削除されることです。
  • ファイルは、正常な場所(例えば、JVMが指定したtmpディレクトリ、デフォルトは、システムのtempディレクトリ)にデフォルトされるべきです。

解決方法は?

使用方法 File.createTempFile() .

File tempFile = File.createTempFile("prefix-", "-suffix");
//File tempFile = File.createTempFile("MyAppName-", ".tmp");
tempFile.deleteOnExit();

のように、temp dirにファイルを作成します。

prefix-6340763779352094442-suffix