簡體   English   中英

Java用getClass()。getResource(“ something”)。toString()追加到文件不起作用?

[英]Java appending to file with getClass().getResource(“something”).toString() is not workinh?

Eclipse中的工作目錄如下所示: 在此處輸入圖片說明

我正在嘗試附加到happyPreview.scm並且必須從SpeechPreview.java調用此方法。 我試過了:

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(getClass().getResource("previews" + File.separator + "happyPreview.scm").toString(), true)));

我以為這樣會行得通,因為他們都在同一個“ bash”包中,但這行不通嗎? 什么都沒有追加!

class.getResource()-> root是項目文件夾,而不是當前類的類文件夾。

getClass().getResource("/bash/previews/happyPreview.scm")

您不能寫入類資源,只能讀取甚至流媒體。

這是因為您的代碼將被打包在類路徑中的.jar文件中。 部署的.jar文件是只讀的。 當然,在開發過程中不會將其打包在.jar文件中,但需要您完成並需要對其進行部署。

如果您希望代碼附帶默認/初始資源並進行更新,則更新后的文件必須存儲在其他位置。 當下次你讀它,你首先檢查其他位置,如果沒有找到, 那么你從資源文件加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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