0

我正在从 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。

4

1 回答 1

-1

我不确定,但是使用Files类,您可以在文件中读取和写入属性。可能有一些必须设置的操作系统的特定属性。

如果您也想操作它,还有一个 setOwner 方法。

于 2012-06-04T19:09:59.437 回答