我加载一个道具,并将其保存文件加载
File propfile=new File(getClass().getResource("credentials.properties").toURI());
prop.load(new FileInputStream(propfile));
prop.setProperty("a", username);
prop.setProperty("c", password);
prop.setProperty("b", pbKey);
prop.store(new FileOutputStream(propfile), null);
当我正常运行这在NetBeans以其优良的,当其捆绑到.jar文件,它抛出
Caused by: java.lang.IllegalArgumentException: URI is not hierarchical
at java.io.File.(Unknown Source)
现在,当我使用
getClass().getResourceAsStream("credentials.properties");
我可以阅读FIL E,但我无法保存文件,除非我用的是.toURI()
在 - >Storing changes in .properties file that has been read via getClass().getResourceAsStream
所以当我使用toURI(),当我运行它(jar文件),它会大叫说的URI is not hierarchical
当我使用getResourceAsStream
,我无法保存文件
我该怎么办? 属性文件在同一个包中的类是在
@ cypronmaya:为什么程序需要修改jar文件?我想你需要重新审视需求/设计。考虑一下这个jar根本不可写的情况。 – Jayan 2012-04-13 07:48:28
@Jayan我试图建立一个桌面应用程序,其中一些参数由用户设置,如他们的用户名/密码等,有点,实施,我想使用属性文件becoz更容易。 – cypronmaya 2012-04-13 07:52:04
@ cypronmaya:您可以在jar中的属性中设置某种默认值。将修改后的内容另存到其他位置,例如$ {user.home}。 – Jayan 2012-04-13 07:54:50