像你这种要动态修改的配置文件,最好用xml文件来描述。
那样可以专门修改某个节点而不会影响其他的。但需要涉及到xml的解析和保存,麻烦了一点点。
一般情况读取不用保存的配置文件,用Properties还是很方便,另外你保存的时候可以用prop.store(new FileOutputStream(cfgfile.getAbsolutePath(),true),null);来保存。这样所有的数据是追加在原来的文件后,但读取时由于是后面key-value对覆盖前面的,所以仍然算是修改成功,而且原来的注释信息也都还在。只是你的配置文件就越来越大了。而且还是很乱。