簡體   English   中英

Linux從Java jar寫入文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM