2013-10-29 124 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"));