我有一個文件保存用於加載我的應用程序的textField的默認信息。我在編譯時查找了如何將這些內置到我的jar文件中,並且我被告知將它放在源代碼包中,它將被帶入,所以我已經完成了。文件路徑在NetBeans中工作,但不在構建的JAR文件中
文件結構:
Project
-Source Packages
-src
~Java Classes
-defaultFiles
~Defaults.txt
我想使用的代碼是這樣的:
BufferedReader in;
try {
URL resourceURL = FuelProperties.class.getResource("/defaultFiles/Defaults.txt");
in = new BufferedReader(new FileReader(resourceURL.getPath()));
}
這完美的作品,當我運行它通過NetBeans的,但是當我生成項目,並嘗試從jar文件運行它不抓取文件。
我已驗證默認文件正在構建並存在於上述相同的文件結構中。
如果你能幫助我解決這個問題,我將非常感激,因爲我不知道是什麼讓它不能工作。謝謝。
我猜測/ src/defaultFiles實際上在你的jar中? – gorjusborg 2012-03-23 15:28:41
這就是我所相信的,正如在我的dist文件夾中(這是程序構建的地方),只有jar文件和lib文件夾。 lib文件夾只包含庫罐。 – Alex 2012-03-23 15:30:34
那麼,沒有理由不檢查jar來查看文件是否確實在那裏:)只需使用jar xvf .jar將其全部轉存。但是正如Dennis R.所說的那樣,你不能通過這種方式在jar文件中加載文件。您需要使用包含jar的類加載器的getResource方法之一。 –
gorjusborg
2012-03-23 15:36:11