我的程序做了一些相当密集的操作,所以我使用一个临时文件来加快速度。我使用以下 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 上的情况吗?有没有办法授予对临时目录的访问权限?我应该使用其他目录吗?