修改properties文件key的value

publicstaticvoidwriteValue(Stringkey,Stringvalue){try{Stringa=(String)config.setPrope... public static void writeValue(String key, String value) {
try {
String a = (String)config.setProperty(key, value);
System.out.println(a);
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
}
}
我用以上方法想更改一个properties中的key的value,但我看到a的返回值还是原来key的value,再看文件并没有更改,还需要FileOutputStream操作么?请指点!谢谢!
那请问应该如何IO将properties写到文件中呢?
另外,可以向properties文件添加key=value么?
展开
 我来答
玩月饼花粘糖L
推荐于2016-01-07
知道答主
回答量:20
采纳率:100%
帮助的人:8.5万
展开全部
你说的很对:需要FileInputStream fs=new FileInputStream(路径)
Properties p=new Properties();
p.load(fs);
这只是把磁盘中的文件数据库加载到内存中
让后设置值
p.setProperty(key,value);
修改后数据依然还在内存。要想保存到文件必须把它从内存中传到磁盘文件
此时FileOutputStream fos=new FileOutputStream(路径)
p.store(fos);
之后才把修改的文件内容保存到磁盘。
SkyerTu
2010-07-28 · TA获得超过1822个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:1196万
展开全部
Properties.load()是从文件中读入。
要写回去得用store(),参数与load类似
如:
config.store(new FileOutputStream("filename.properties"), null);

第二个参数是properties文件的注释,没什么用,写成null就可以了。
另外,写回的文件与原来的文件可能有些不同,如注释、空格、顺序等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好猫666
2010-07-28 · TA获得超过216个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:183万
展开全部
Properties的load之后,之前用到的文件流就可以关闭了,这说明他是把.properties文件的内容读到内存中,这时候对这个property对象set的时候是在内存中进行的,如果需要保存到文件中当然需要再开文件流,然后写入了,
a的返回值为什么是原来的value,还有改如何将改动存到文件,这个看下API一下就清楚了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weirweiwei
2010-07-28 · TA获得超过312个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:163万
展开全部
这个肯定要用到OI操作,因为你就是在改动文件内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式