0
我正在從Java jar可執行文件寫入文本文件。該jar生成正確的文件,但文件的權限設置爲root,因此我的其他Javascript無法讀取該文件。當我嘗試通過ajax讀取文件時,它返回「權限被拒絕」。如何在Java中創建文件時解決問題?我目前正在運行Java 1.6。Linux從java jar寫入文件
我在eclipse中運行應用程序時沒有這個問題。一旦我移植到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。
盲目的猜測是您的WebServer無權訪問此文件。或者是由java代碼保存的文件沒有關閉它的鎖。向我們展示一些代碼,或者更好地創建[SSCE](http://sscce.org/)。 – npe
你用什麼用戶來運行你的jar?它是運行網絡服務器的同一個用戶嗎? – dstarh
是的,它和web用戶運行在 –