私のプログラムはかなり集中的な操作を行うため、処理を高速化するためにスクラッチ ファイルを使用します。次の Java コードを使用します。
File scratchFile = new File(System.getProperty("java.io.tmpdir") + "WCCTempFile.tmp");
if (!scratchFile.exists())
scratchFile.createNewFile();
このコードは、Mac OS X と Windows で問題なく動作します。オペレーティング システムによって決定される Java 一時ディレクトリにスクラッチ ファイルが作成されます。
ただし、Linux (特に Linux Mint) でこのプログラムを試すと、「scratchFile.createNewFile()」行で次のエラーが発生します。
java.io.IOException: Permission Denied
System.getProperty("java.io.tempdir")
メソッドによって収集された一時ディレクトリは、ユーザーが書き込むことができるディレクトリであると考えていたので(そしてそれは他のオペレーティングシステム上にあります)、このエラーに本当に混乱しています。これは Linux では当てはまりませんか? 一時ディレクトリへのアクセスを許可する方法はありますか? 私が使用するはずの他のディレクトリはありますか?