这个连接包含了常用的流------IO流(总篇章)  

概述:

  • 是一个Map体系集合类
  • Properties可以保存到流中或者从流中加载
package com.testIO;

import java.util.*;

/**
 * @author 林高禄
 * @create 2020-05-13-11:20
 */
public class PropertiesDemo {
    public static void main(String[] args) {
        Properties p = new Properties();
        p.put("a","a1");
        p.put("林","林高禄");
        p.setProperty("b","b1");

        Set<String> strings = p.stringPropertyNames();
        for(String s:strings){
            System.out.println(s+","+p.getProperty(s));
        }

    }
}

 输出:

b,b1
a,a1
林,林高禄

Properties作为集合的特有方法

  • Object setProperty(String key, String value):设置集合的键和值,都是String类型,底层调用Hashtable方法put
  • String getProperty(String key):使用此属性列表中指定的键搜索属性
  • Set<String> stringPropertyNames():从该属性列表中返回一个不可修改的键集,其中键及其对应的值都是字符串

Properties与IO流集合的方法

  • void load(InputStream inStream):从输入字节流读取属性列表(键和元素对)
  • void load(Reader reader):从输入字符流读取属性列表(键和元素对)
  • void store(OutputStrream out,String comments):将此属性列表(键和元素对)写入此Properties表中,以适合于使用load(InputStream inStream)方法的格式写入输出字节流
  • void store(Writer weiter,String comments):将此属性列表(键和元素对)写入此Properties表中,以适合于使用load(Reader reader)方法的格式写入输出字符流
package com.testIO;

import java.io.*;
import java.util.*;

/**
 * @author 林高禄
 * @create 2020-05-13-11:20
 */
public class PropertiesDemo {
    public static void main(String[] args)  throws IOException {
        Properties p = new Properties();
        p.put("a","a1");
        p.put("林","林高禄");
        p.setProperty("b","b1");

        FileWriter fw = new FileWriter("test//src//com//testIO//properties.txt");
        p.store(fw,"测试写入aa");
        fw.close();

        FileReader fr = new FileReader("test//src//com//testIO//properties.txt");
        Properties p1 = new Properties();
        p1.load(fr);
        fr.close();

        System.out.println(p);
        System.out.println(p1);
    }
}
properties.txt文件内容为:
#\u6D4B\u8BD5\u5199\u5165aa
#Wed May 13 11:47:02 CST 2020
b=b1
林=林高禄
a=a1

控制台输出结果为:

{b=b1, 林=林高禄, a=a1}
{b=b1, a=a1, 林=林高禄}

 由此可见:

  • Properties可写入文件,void store(Writer weiter,String comments)方法的comments参数,汉字会转义,字母还是字母
  • Properties可从文件读取赋值