关于java:java学习笔记9IO系统-Properties类

2次阅读

共计 1534 个字符,预计需要花费 4 分钟才能阅读完成。

java.util.Properties 汇合 extends Hashtable<k,v> implements Map<k, v>
惟一和 IO 流联合的汇合

能够应用 Properties 中 store 办法,把汇合中的长期数据,长久化写入到硬盘中存储
应用 Properties 中 load 办法,把硬盘中保留的文件(键值对),读取到汇合中应用

属性列表中每个键及其对应值都是一个字符串(泛型都是 String)

Properties 是一个双列汇合,key 和 value 默认都是字符串

    public static void main(String[] args) {show01();
    }

    private static void show01() {Properties prop = new Properties();
        prop.setProperty("cc", "168");
        prop.setProperty("zz", "167");
        prop.setProperty("qq", "166");
        
        // 相当于 setKey,将所有的 key 值放入一个 Set 汇合内
        Set<String> set = prop.stringPropertyNames();
        for (String s : set) {System.out.println(s);
            // 相当于 getKey 获取到键对应的值
            System.out.println(prop.getProperty(s));
        }
    }


字符流能够写中文,字节流不能写中文

store 办法:

应用步骤:

  1. 创立 Properties 汇合对象,增加数据
  2. 创立字节 / 字符输入流对象,构造方法中绑定要输入的目的地
  3. 应用 Properties 汇合的 store 办法,把汇合中的长期数据,长久化写入到硬盘中存储
  4. 开释资源
    public static void main(String[] args) throws IOException {show01();
        show02();}

    private static void show02() throws IOException {Properties prop = new Properties();
        prop.setProperty("cc", "168");
        prop.setProperty("zz", "167");
        prop.setProperty("qq", "166");

        FileWriter fw = new FileWriter("E:\\A JI\\program\\java\\f.txt");
        
        prop.store(fw, "save data");
        
        fw.close();}

load 办法:


应用步骤:

  1. 创立 Properties 汇合对象
  2. 应用 Properties 汇合的 load 办法读取保留键值对的文件
  3. 遍历 Properties 汇合

留神:

  1. 存储键值对的文件中,键与值默认的连贯符号能够应用 = 空格(其余符号)
  2. 存储键值对的文件中,可应用 # 进行正文,被正文的键值不会被读取
  3. 存储键值对的文件中,键与值默认都是字符串,不必再加引号
    public static void main(String[] args) throws IOException {show03();
    }

    private static void show03() throws IOException {Properties prop = new Properties();
        prop.load(new FileReader("E:\\A JI\\program\\java\\f.txt"));

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


output:cc=168
zz=167
qq=166
正文完
 0