阻止文件路径的安全设置(java)
基本上,我想把文件放在与制作它的程序相同的目录中,而不是放在它里面,所以我选择了路径“filePath”,但是每当OutputStream试图写入它时,我就会得到一个安全异常。它们是已知的修复方法还是更好的方法?这取决于用户的权限,他/她是否有权使用阻止文件路径的安全设置(java),java,file,directory,outputstream,securityexception,Java,File,Directory,Outputstream,Securityexception,基本上,我想把文件放在与制作它的程序相同的目录中,而不是放在它里面,所以我选择了路径“filePath”,但是每当OutputStream试图写入它时,我就会得到一个安全异常。它们是已知的修复方法还是更好的方法?这取决于用户的权限,他/她是否有权使用user.home或java.io.tmpdir保存文件。执行的用户应该始终有权访问这些文件。请注意,操作系统可能会决定清理java.io.tmpdir,文件可能会被删除。user.home是否在桌面上创建文件@Ralfor我是否可以将File.se
user.home
或java.io.tmpdir
保存文件。执行的用户应该始终有权访问这些文件。请注意,操作系统可能会决定清理java.io.tmpdir
,文件可能会被删除。user.home是否在桌面上创建文件@Ralfor我是否可以将File.separator+“desktop”添加到其中而不处理安全问题?user.home
是用户的主目录。主目录的概念可以跨操作系统移植。虽然“桌面”的概念存在于所有(?)主流OSs中,并且该文件夹大部分时间被称为Desktop
,但无法保证该文件夹的存在。但是没有什么可以阻止您测试它是否存在以及该位置是否可写。如果检测结果为阳性,则将文件保存在那里。如果没有,则返回用户的主目录。
//String s = nameOfFile
String filePath = System.getProperty("user.dir") + File.separator + ".." + File.separator + s;
File location = new File(filePath);
OutputStream print = new FileOutputStream(location);
print.write(contents.getBytes());
print.close();