程序以JAR格式进行发布,其中有一个属性文件用来记录用户自定义的设置,在resources/config.properties里面。那么在程序中,如何更新这个文件啊?
相关代码如下:
try {
    String fileLoc = urlLoader.getResource("resources/config.properties").getFile();
    outFile=new File(fileLoc);
} catch (Exception e) {                e.printStackTrace();
}
try {
    FileOutputStream out = new FileOutputStream(outFile);
    prop.store(out, null);
    out.flush();
    out.close();
} catch (Exception e) {
    e.printStackTrace();
}
在源代码中是正确的,发布成JAR之后会找不到文件。

解决方案 »

  1.   

    1.你的程序如果是web应用程序就比较方便解决,将这个配置文件拿出来放到classes相应的目录下面,方便操作。
    2.如果不是,那么可以使用winrar解压jar文件,在弹出的对话框中打开那个属性文件,修改完了,然后再保存即可。
    3.修改完了,再打一次jar
      

  2.   

    别打JAR包里吧,配置文件,放在JAR包里,修改不方便。
      

  3.   

    配置文件一般都不打包吧,象.net生成exe后配置文件不也在外边的吗.方便修改.
      

  4.   

    不能将配置文件放到 jar 中,放到外面来,里面使用文件的相对路径读取。
      

  5.   

    首先谢谢各位的回答。不过我想好像我说得不是很清楚。
    我的程序是桌面程序,想在config.proterties文件里面记录用户的配置信息,比如用户选用的界面或者语言,以便在下一次运行程序时获得上次选择的信息。我知道可以在JAR外面使用properties文件,但是程序发布是以一个JAR包发布的啊。如果单独把properties文件放在外面,这样目录结构就算作是固定了啊,觉得有些不方便啊。
    再次感谢各位的意见!