黑马程序员技术交流社区
标题:
两种判断,哪个会出错?
[打印本页]
作者:
陈延真
时间:
2013-6-2 20:16
标题:
两种判断,哪个会出错?
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");
}
}
作者:
First
时间:
2013-6-3 15:34
两种方式都能正常运行,不知道楼主希望的错误是什么?
如果是TreeMap 就允许存放null, Properties 存放null 会报错
作者:
陈延真
时间:
2013-6-3 19:19
First 发表于 2013-6-3 15:34
两种方式都能正常运行,不知道楼主希望的错误是什么?
如果是TreeMap 就允许存放null, Properties 存放nul ...
如果要查找的元素不存在呢,会不会报错?
作者:
First
时间:
2013-6-3 19:39
不存在也运行正常,
不过要是把第二种的 prop.put 改成 remove 就会报错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2