可執行jar怎麼讀取外部配置文件

0

現在打了個可執行的jar包,
通過 java -jar something.jar執行,
目前配置文件(如something.properties)放在jar包裏了,
現在我想把配置文件放在jar包外面,
這樣方便修改!
but how?!

我是通過:

properties.load(ConfigUtil.class.getClassLoader().getResourceAsStream("conf.properties"));

來獲取配置文件的輸入流的。

另:
在其他類中調用那個jar包裏的Main-Class的main方法是可以讀取jar包外的配置文件的,
但是執行:

java -jar xxxxx.jar

卻不行!

3 個回答

0

0
jollywing 412 2013年08月07日 回答

其實直接用配置文件的相對路徑就可以了。 比如這樣載入配置:

  Properties properties = new Properties();
  File file = new File("something.properties");
  FileInputStream fis = new FileInputStream(file);
  properties.load(fis);
  fis.close();

然後可以用properties.getProperty(key)來獲取某個屬性。 用properties.setProperty(key, value)來設置屬性。

這樣只要something.properties和你生成的jar在同一個目錄下,就能成功讀取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章