[英]Linux write to file from java jar
我正在從Java jar可執行文件寫入文本文件。 該jar會生成正確的文件,但是該文件的權限設置為root,因此我的其他Javascript無法讀取該文件。 當我嘗試通過ajax讀取文件時,它返回“權限被拒絕”。 在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。
我不確定,但是使用Files類可以讀取和寫入文件中的屬性。 可能有一些必須設置的操作系統屬性。
如果您也想操作它,則有一個setOwner方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.