2013-10-29 158 views
0

我有一個屬性文件config.properties,我正在Eclipse中訪問一個java項目。將屬性文件添加到jar

BufferedReader bfr = new BufferedReader(new FileReader(new File("config.properties"))); 

,當我在Eclipse中運行項目這工作得很好。但是,當我出口項目作爲一個jar文件,config.properties不包括在罐子裏,當我運行jar我得到以下錯誤:

java.io.FileNotFoundException:config.properties

如何我可以打包我的財產文件,因此它被包括在我的jar中使用?

+1

要把那個壞男孩加入你的資源。 – christopher

+4

如果你在'config.properties'文件中存儲你的配置,那你爲什麼要在jar中包含這個(properties)文件?通常我們使用屬性文件來存儲一些可以根據需要輕鬆修改的數據。如果你在'jar'中包含配置文件,那麼屬性文件有什麼用處。你可以像存儲java類一樣存儲'Constant.java' – Yubaraj

+0

也可以考慮使用Properties類來加載屬性文件。 – Puce

回答

0

導出JAR時,在「選擇要導出的資源」面板中,需要在「config.properties」旁邊勾選複選框。

然後,你需要改變你的裝入特性文件的方式:

BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/config.properties"))); 

而且屬性通常文件是無法讀取的方式 - 儘量Properties.load:

Properties props = new Properties(); 
props.load(PropsSaver.class.getResourceAsStream("/config.properties"));