在做Properties文件修改时,新加的键值对将删除前面所有添加的键值对,在用prop.store()时文件最后保存的是最后一次添加的。 在将文件写入流设置成追加形式时,又变成将所有的键值对添加进文件,不会覆盖key值相同的键值对,请问下,我这个问题怎么解决呢? 我想对properties文件进行修改和对键所对应的值进行修改而不影响其他的值。
FileOutputStream w = null;
try {
w = new FileOutputStream(SAL_PROP_PATH);
if(null == prop) {
prop = new Properties();
prop.load(new FileInputStream(SAL_PROP_PATH));
}
prop.setProperty(key, value);
prop.store(w, key);
w.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(null != w) {
w.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
FileOutputStream w = null;
try {
w = new FileOutputStream(SAL_PROP_PATH);
if(null == prop) {
prop = new Properties();
prop.load(new FileInputStream(SAL_PROP_PATH));
}
prop.setProperty(key, value);
prop.store(w, key);
w.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(null != w) {
w.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
解决方案 »
- 使用JSON跟XML相互报错java.lang.NoSuchMethodError 求解!!!
- 一个很简单的问题
- 为什么代码中尽量少出现"123".equals(str)这样的危险字符???
- java中怎么获取modaldialog的返回值
- 请教各位,以下那段代码能显示最后一个命令行参数,并且当不存在命令行参数时,不会抛出异常?
- 急:Linux下,java调用C++的动态库错误。在线等。。
- int[]转换成byte[]在线等??
- 如何将区位码转换成汉字??
- 有Winsock高手吗?希望指点
- 关于int最大值的问题
- 想用SWING写一个界面,用来显示构造好的幻方,用什么来显示比较好呢?
- 求证一下 primitive type 都有继承Object的语意吗?
newprop.setProperty(key, value);
newprop.load(in);
output注意顺序即可
你能在操作步骤上写具体点吗?
移到prop.load(new FileInputStream(SAL_PROP_PATH));
与prop.setProperty(key, value);之间即可
properties只是提供了同步方法,但你完全可以不使用它。