2013-07-03 47 views
0

我正在編寫一個程序,該程序依賴於保存到使用jar導出的資源文件夾。我有一個標題爲「資源/輸入」的源文件夾,它可以正確導出。我可以從它加載這是偉大的,但問題是,當我使用:Java無法保存到具有jar的資源文件夾

getClass().getResource(path); 

我不能保存到返回的路徑。我需要能夠保存到它,我想知道,有沒有什麼辦法可以保存到此資源文件夾(或與jar中相同的目錄中存在的其他文件夾),無論用戶在哪裏保存了jar文件?

我得到的錯誤是一個FileNotFoundException,我讀過的背景是,因爲jar觸發java「讀鎖」,你只能從jar中讀取,永遠不會寫入它?不知道這是否準確,但如果是這樣,我如何使用外部文件夾解決此問題?

+3

你不能把它寫回資源。你爲什麼要寫回來? – Makky

+0

您應該從資源中讀取文件並保存在用戶的臨時目錄中。 – Makky

+0

我喜歡臨時目錄的想法!那會比JarEntry容易得多,無法想象爲什麼我沒有先想到這一點。 –

回答

0

我從來沒有試過這個,但它可能很難,因爲你需要使用專門的類來訪問jar文件(這是一個不同擴展名的zip文件)中的文件。谷歌「JarEntry」,看看你是否指向正確的方向。

請問this回答你的問題

+0

我要先嚐試寫入用戶的Temp目錄,如果我無法讓它工作,我會給JarEntry一個鏡頭。謝謝您的幫助 –