Java基础知识强化之IO流笔记69:Properties练习之 判断文件中是否有指定的键,如果有就修改值的案例

1. 我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么
 请写一个程序判断是否有"lisi"这样的键存在,如果有就改变其值为"100"

 分析:
   A:把文件中的数据加载到集合中
   B遍历集合,获取得到每一个键
   C判断键是否有为"lisi"的,如果有就修改其值为"100"
   D把集合中的数据重新存储到文件中

 

2. 代码实现:

 1 package cn.itcast_08;
 2 
 3 import java.io.FileReader;
 4 import java.io.FileWriter;
 5 import java.io.IOException;
 6 import java.io.Reader;
 7 import java.io.Writer;
 8 import java.util.Properties;
 9 import java.util.Set;
10 
11 /*
12  * 我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么。
13  * 请写一个程序判断是否有“lisi”这样的键存在,如果有就改变其实为”100”
14  * 
15  * 分析:
16  *         A:把文件中的数据加载到集合中
17  *         B:遍历集合,获取得到每一个键
18  *         C:判断键是否有为"lisi"的,如果有就修改其值为"100"
19  *         D:把集合中的数据重新存储到文件中
20  */
21 public class PropertiesTest {
22     public static void main(String[] args) throws IOException {
23         // 把文件中的数据加载到集合中
24         Properties prop = new Properties();
25         Reader r = new FileReader("user.txt");
26         prop.load(r);
27         r.close();
28 
29         // 遍历集合,获取得到每一个键
30         Set<String> set = prop.stringPropertyNames();
31         for (String key : set) {
32             // 判断键是否有为"lisi"的,如果有就修改其值为"100"
33             if ("lisi".equals(key)) {
34                 prop.setProperty(key, "100");
35                 break;
36             }
37         }
38 
39         // 把集合中的数据重新存储到文件中
40         Writer w = new FileWriter("user.txt");
41         prop.store(w, null);
42         w.close();
43     }
44 }

运行效果,如下:

posted on 2015-10-14 12:13  鸿钧老祖  阅读(711)  评论(0编辑  收藏  举报

导航