A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈延真 中级黑马   /  2013-6-2 20:16  /  1167 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
/*
* 需求:请在prop.txt中查找有没有姓名是lisi的人,如果有,则修改其值为35
* 思路:把文件中的数据加载到一个集合中
*   查找lisi键是否存在,存在并修改。
*   把集合中的数据保存到文件中。
*/
public class PropertiesTest {
public static void main(String[] args) throws IOException{
  Properties prop = new Properties();
  BufferedReader br = new BufferedReader(new FileReader("store.txt"));
  //加载进集合
  prop.load(br);
  //条件判断
  if((prop.getProperty("lisi"))!=null){
   prop.put("lisi", "35");
  }
  FileWriter bw = new  FileWriter("store.txt");
  //把集合中的数据保存到文件中
  prop.store(bw,null);
  bw.close();
  br.close();
  
}
}



//第二种方式:遍历集合,看有没有键是lisi的
  Set<Object> set = prop.keySet();
  Iterator<Object> it = set.iterator();
  while(it.hasNext()){
   Object key = it.next();
   if("lisi".equals(key)){
    //存在就修改
    prop.put(key, "35");
   }
  }

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

3 个回复

倒序浏览
两种方式都能正常运行,不知道楼主希望的错误是什么?
如果是TreeMap 就允许存放null, Properties 存放null 会报错
回复 使用道具 举报
First 发表于 2013-6-3 15:34
两种方式都能正常运行,不知道楼主希望的错误是什么?
如果是TreeMap 就允许存放null, Properties 存放nul ...

如果要查找的元素不存在呢,会不会报错?
回复 使用道具 举报
不存在也运行正常,
不过要是把第二种的 prop.put 改成 remove 就会报错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马