已经将
./class 
./set
两个文件夹打入了一个jar文件。
设置文件的读取通过ClassLoader.getSystemResourceAsStream()来完成,可是程序中有可能需要修改设置文件,请问该如何修改jar文件中的设置文件。
我试过如下方法:
String path = ClassLoader.getSystemResource().getPath();
path += “/set/1.txt”;
可是ClassLoader.getSystemResource()对于jar包中的.class文件会返回null,
求教。

解决方案 »

  1.   

    jar 是打包过的,不能修改!需要修改的配置文件就不应该打到 jar 包中去。
      

  2.   

    这就像需要修改文件中的字符,就不能直接定位到这个字符后进行修改,得读出来改完后再写回去。如果 jar 中的文件有更改,那是需要重新打包的。也就是说,需要解开后改完,再打包回去。把需要修改的配置文件放到 jar 里面去,这种做法本身就是不合理的!
      

  3.   

    没改过,也没这样用过,对于java程序来说,个人认为jar应该是只读的,如果允许修改麻烦了。修改一下.txt还算没有大问题。要是.class呢?