修改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么? 展开
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么? 展开
4个回答
展开全部
你说的很对:需要FileInputStream fs=new FileInputStream(路径)
Properties p=new Properties();
p.load(fs);
这只是把磁盘中的文件数据库加载到内存中
让后设置值
p.setProperty(key,value);
修改后数据依然还在内存。要想保存到文件必须把它从内存中传到磁盘文件
此时FileOutputStream fos=new FileOutputStream(路径)
p.store(fos);
之后才把修改的文件内容保存到磁盘。
Properties p=new Properties();
p.load(fs);
这只是把磁盘中的文件数据库加载到内存中
让后设置值
p.setProperty(key,value);
修改后数据依然还在内存。要想保存到文件必须把它从内存中传到磁盘文件
此时FileOutputStream fos=new FileOutputStream(路径)
p.store(fos);
之后才把修改的文件内容保存到磁盘。
展开全部
Properties.load()是从文件中读入。
要写回去得用store(),参数与load类似
如:
config.store(new FileOutputStream("filename.properties"), null);
第二个参数是properties文件的注释,没什么用,写成null就可以了。
另外,写回的文件与原来的文件可能有些不同,如注释、空格、顺序等等。
要写回去得用store(),参数与load类似
如:
config.store(new FileOutputStream("filename.properties"), null);
第二个参数是properties文件的注释,没什么用,写成null就可以了。
另外,写回的文件与原来的文件可能有些不同,如注释、空格、顺序等等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Properties的load之后,之前用到的文件流就可以关闭了,这说明他是把.properties文件的内容读到内存中,这时候对这个property对象set的时候是在内存中进行的,如果需要保存到文件中当然需要再开文件流,然后写入了,
a的返回值为什么是原来的value,还有改如何将改动存到文件,这个看下API一下就清楚了
a的返回值为什么是原来的value,还有改如何将改动存到文件,这个看下API一下就清楚了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个肯定要用到OI操作,因为你就是在改动文件内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询