私のプログラムでは、実行中にデータを入れるために一時フォルダが必要です。このデータはプログラムの終了後に必要ではなく、削除する必要があります。実行中のプログラムのインスタンスごとに1つのフォルダが必要です。起動時に一時ファイルを削除する
私はfile.deleteOnExit()
を使用している場合、これは確かにファイルはどんな種類のクラッシュに削除されることはありません。私の考えは、起動時に削除されなかった古い一時ファイルをチェックして削除することです。しかし、プログラムの別のインスタンスを起動するときに、実行中のプログラムの一時ファイルを削除すべきではありません。どうすればこれを達成できますか?
。具体的に:一時ファイルはシステムの一時ディレクトリにある必要があり、プログラムが正常に終了した場合に削除する必要があります。この質問は、プログラムがクラッシュした数回だけです。プログラムはOSに依存しないものでなければなりません。 File
クラスの代わりにPath
を使用するソリューションが推奨されます。
コードが設計されているため、提案したように異なるプロセスで複数のインスタンスを実行することはできません。これは良い考えです。 – piegames
@piegames既に説明したように、終了時に一時ファイルを削除する信頼できる方法はないので、起動時に削除する必要があります。複数のインスタンスを持つことは、私が知る限り、この仕事をほとんど不可能にするでしょう。 – Tony
プログラムは、タイムディレクトリ内のファイルにタイムスタンプを置き、毎分バックグラウンドスレッドで更新することができます。タイムスタンプが〜5分より古い場合、新しいインスタンスによってフォルダが削除されることがあります。 – piegames