我正在从 Java jar 可执行文件写入文本文件。jar 生成正确的文件,但文件的权限设置为 root,因此我的其他 Javascript 无法读取该文件。当我尝试通过 ajax 读取文件时,它返回“Permission Denied”。在 Java 中创建文件时如何解决此问题?我目前正在运行 Java 1.6。
当我在 Eclipse 中运行应用程序时,我没有遇到这个问题。一旦我将它移植到 jar 权限更改为 root 访问。
我正在运行罐子
exec('java -jar writeToFile.jar');
写入文件是标准的
public void writeContents(String fp,String contents){
try{
BufferedWriter write = new BufferedWriter(new FileWriter(fp));
write.write(contents);
write.close();
}catch(Exception e){
System.out.println("Failed to write to file " + fp + " error: " + e.toString());
e.printStackTrace();
}
}
写入文件工作正常,它创建文件正确的目录和所需的数据,在 eclipse 中运行它和通过 jar 运行它之间的唯一区别是文件权限。jar 将文件设置为 root。