我已經構建了我的GUI程序並獲得了一個可運行的jar文件,但是我想包含一個txt文件,用戶可以將其編輯爲到jar文件或伴隨它。此文本文件可以包含操作系統之間不同的編輯器的路徑。有沒有辦法做到這一點?Runnable Jar File with extra .txt
謝謝
我已經構建了我的GUI程序並獲得了一個可運行的jar文件,但是我想包含一個txt文件,用戶可以將其編輯爲到jar文件或伴隨它。此文本文件可以包含操作系統之間不同的編輯器的路徑。有沒有辦法做到這一點?Runnable Jar File with extra .txt
謝謝
你不能編輯一個文件並保存在罐子裏面。你可以做的是用默認數據將你的文件包含在jar文件中,編輯它並將其保存到jar外的文件中。
實際上它是可能的,如果你打開罐子本身的代碼,並重新包裝當您更改文本,但它像拆解車門,車輪,座椅和發動機剛裝上去的手套箱
實際上,重新打包可能會失敗,因爲在某些情況下,jar可能會從JVM引用並且無法保存。 –
nope ...當jar運行時,它將其內容提取到系統臨時文件夾:) – Dima
最簡單的是將文件放在與罐子一起,然後:
File file = new File("file.txt");
以另一種方式,如果要啓動關聯編輯器應用程序(默認情況下該文件類型OS),並打開一個文件編輯,你可以試試下:
File file = new File("file.txt");
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().edit(file);
}
您是否希望將其作爲編輯的默認值,或者應該保存更改?如果前者,您可以使用'ClassLoader#getResource()'或'ClassLoader#getResourceAsStream()'從jar文件中加載。否則,我會建議創建一個包含您想要支持的每個操作系統位置的映射。 –
如果答案有幫助,可以[接受](http://meta.stackoverflow.com/a/5235/227183)。 –