1 package file;
2
3 import java.io.FileOutputStream;
4 import java.io.FileReader;
5 import java.io.FileWriter;
6 import java.io.IOException;
7 import java.util.Map.Entry;
8 import java.util.Properties;
9 import java.util.Set;
10
11 /*
12 Properties(配置文件类 )
13 1.如果配置文件的信息出现了中文,只能使用字符解决,如果使用字节流,默认是ISO8859-1,会出现乱码。
14 2.如果Properties中的内容发生了变化,一定要重新存储这个配置文件.
15 */
16 public class Demo11 {
17 public static void main(String[] args) throws IOException {
18 // createProperties();
19 readProperties();
20 }
21
22
23 //读取配置文件信息
24 public static void readProperties() throws IOException {
25 //创建Properties
26 Properties properties = new Properties();
27 //加载配置文件到properties中,
28 properties.load(new FileReader("F:\\test.properties"));
29 //遍历Properties
30 Set<Entry<Object, Object>> entrys = properties.entrySet();
31 for(Entry<Object,Object> enrty : entrys) {
32 System.out.println("键:"+ enrty.getKey() + "值:" + enrty.getValue());
33 }
34
35 //修改密码
36 properties.setProperty("测试", "888");
37 //重新把修改后的信息properties,在生成一个配置文件
38 properties.store(new FileWriter("F:\\test.properties"), "he");
39 }
40
41 //保存配置文件的信息
42 public static void createProperties() throws IOException, IOException {
43 //创建Properties
44 Properties properties = new Properties();
45 properties.setProperty("测试", "123");
46 properties.setProperty("测试2", "234");
47 properties.setProperty("测试3", "456");
48
49 //遍历Properties
50 // Set<Entry<Object, Object>> entrys = properties.entrySet();
51 // for(Entry<Object,Object> enrty : entrys) {
52 // System.out.println("键:"+ enrty.getKey() + "值:" + enrty.getValue());
53 // }
54
55 //使用properties产生配置文件
56 // properties.store(new FileOutputStream("F:\\test.properties"), "ha"); //第一个是输出流对象,第二个是描述信息
57 properties.store(new FileWriter("F:\\test.properties"), "he");
58
59 }
60
61 }