Chinaunix

标题: java.util.Properties类的使用 [打印本页]

作者: guangzongy    时间: 2004-10-20 12:17
标题: java.util.Properties类的使用
有一个配置文件:property.txt
格式:


修改其中一个配置:
eg.  age=100

最后的property.txt为:


请问大侠怎么做,最好能给个简单的代码看看,谢谢 [/quote]
作者: guangzongy    时间: 2004-10-20 12:41
标题: java.util.Properties类的使用
这是我写的用于修改配置值的方法代码:

  1. static void updateConfigureValue(String targetFile, String parameterName, String parameterValue){
  2.     Properties prop = new Properties();
  3.       try {
  4.       fis = new FileInputStream(targetFile);
  5.         fos = new FileOutputStream(targetFile);
  6.         prop.load(fis);
  7.         prop.setProperty(parameterName, parameterValue);

  8.         prop.store(fos, "Update '" + parameterName + "' value");
  9.         }
  10.      catch (IOException e) {
  11.         System.out.println("Visit " + targetFile + " for updating " +parameterName + " value error");
  12.       }
复制代码


问题是,由于fis和fos都指向了同一个文件,所以最后得到的property.txt成了这样的:

作者: demon-duke    时间: 2004-10-20 12:41
标题: java.util.Properties类的使用
用xml文件比较好吧?
作者: guangzongy    时间: 2004-10-20 12:58
标题: java.util.Properties类的使用
[quote]原帖由 "demon-duke"]用xml文件比较好吧?[/quote 发表:

配置文件不是我定格式的,是现有的。
作者: demon-duke    时间: 2004-10-20 13:16
标题: java.util.Properties类的使用
这样的啊
那你试试用randomAccessFile类吧
作者: gazania    时间: 2004-10-20 15:46
标题: java.util.Properties类的使用
fos = new FileOutputStream(targetFile) ;
这句放在prop.load(fis)之后
作者: demon-duke    时间: 2004-10-20 16:21
标题: java.util.Properties类的使用

我明白了
楼上说的是正确的
作者: guangzongy    时间: 2004-10-21 08:53
标题: java.util.Properties类的使用
谢谢,已经搞定了:)
作者: 白色乌鸦    时间: 2004-10-21 15:22
标题: java.util.Properties类的使用
呵呵 可是我还不知道为什么,

不好意思 哪位再说说好吗?

谢谢了
作者: demon-duke    时间: 2004-10-21 16:27
标题: java.util.Properties类的使用
首先你要明白写文件时是以覆盖的方式写入的
如果不把原文件内容读出来
原文件的内容就会丢失
所以要把原文件的信息先读出来
再修改age=100
然后再保存
作者: elgs    时间: 2004-10-21 20:00
标题: java.util.Properties类的使用
三步走
1, load
2, set
3, store




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2