Linux从java jar写入文件

时间:2012-06-04 19:04:17

标签: java javascript linux

我正在从Java jar可执行文件写入文本文件。 jar生成正确的文件,但文件的权限设置为root,因此我的其他Javascript无法读取该文件。当我尝试通过ajax读取文件时,它返回“Permission Denied”。在Java中创建文件时如何解决问题?我目前正在运行Java 1.6。

当我在eclipse中运行应用程序时,我没有遇到此问题。一旦我将它移植到jar权限就改为root访问权限。

我正在运行jar

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。

1 个答案:

答案 0 :(得分:-1)

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

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