嗨,大家好菜鳥Java的問題。如何使用可執行文件夾包含文本文件
我有一個Java項目,我想包含一個文本文件與可執行jar。現在文本文件在默認包中。
InputFlatFile currentFile = new InputFlatFile(「src/theFile.txt」);
我使用該行抓取文件,如使用src所看到的。但是這對於可執行jar無效。
有人可以讓我知道如何保持這個文件與可執行文件的jar,所以有人使用該程序可以只需單擊一個圖標並運行該程序。
謝謝!
嗨,大家好菜鳥Java的問題。如何使用可執行文件夾包含文本文件
我有一個Java項目,我想包含一個文本文件與可執行jar。現在文本文件在默認包中。
InputFlatFile currentFile = new InputFlatFile(「src/theFile.txt」);
我使用該行抓取文件,如使用src所看到的。但是這對於可執行jar無效。
有人可以讓我知道如何保持這個文件與可執行文件的jar,所以有人使用該程序可以只需單擊一個圖標並運行該程序。
謝謝!
jar文件中的基礎目錄位於類路徑中。
嘗試InputFlatFile currentFile = new InputFlatFile(「theFile.txt」);
您可能正在使用IDE,並且其中包含一個src文件夾,IDE用作包的基礎。當您從IDE創建jar文件時,它會刪除src文件夾,並且根文件夾中包含有軟件包。
即蝕的src/com.blah.blah一旦jar文件被創建的結構變得com.blah.blah
當然我假定InputFlatFile被正確讀取的值。
http://www.devdaily.com/blog/post/java/read-text-file-from-jar-file
謝謝,那個鏈接幫我弄明白了! – Jake 2010-04-20 02:19:49
希望它爲我工作。我在jar文件的'root'中有兩個文件,並且在securityProps.setProperty(「javax.net.ssl.trustStore」,「CDAtruststore.jks」)上出現錯誤;錯誤是'系統找不到指定的文件'但文件在jar裏面的頂層。已經讓我困惑了好幾個小時。 – 2012-11-27 14:03:11
你想它的可執行的JAR? 然後讀取您應該使用的文件
getClass().getResourceAsStream()
讀取文件。
將文本文件保存在要訪問的包中。 類加載器會找到它。
還請記住JAR中的文件名區分大小寫。
您可以使用getResourceAsStream(http://java.sun.com/javase/7/docs/api/java/lang/ClassLoader.html#getResourceAsStream%28java.lang.String%29)。有關其他問題,請參閱http://stackoverflow.com/questions/574809/java-load-a-resource-contained-in-a-jar。 – 2010-04-20 00:36:00
謝謝,我會看看這個。 – Jake 2010-04-20 00:39:44