Properties配置文件类

Properties 类是Java中操作配置文件的类,它的包名是java.util.Properties,从public class Properties extends Hashtable可以知道Properties类继承了Hashtable,而HashTable又是实现了Map接口,所以可对 Properties 对象应用 put 和 putAll 方法(但通常不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项),而相反,应该使用 setProperty 方法。如果 Properties 对象是不安全的(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用无法完成,调用失败。

package com.my.iodemo;

 

import java.io.File;

import java.io.FileInputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.PrintStream;

import java.io.Reader;

import java.util.Properties;

 

/**

 * Properties 类是Java中操作配置文件的类 *

 *

 */

public class PropertiesDemo {

    public static void main(String[] args) throws IOException {

        Properties properties=new Properties();

       

        //加载配置文件

        //1、字节流(输入)

        FileInputStream in=new FileInputStream("./src/test.properties");

        properties.load(in);

        //2、字符流(输入)Reader

        Reader reader=new FileReader(new File("./src/test.properties"));

        properties.load(reader);

        reader.close();

       

        //读取配置内容

        System.out.println("name:"+properties.getProperty("name"));

        //指定默认值,当无法找到key时返回指定的默认值

        //当key不存在时,不指定默认值输出为null,指定默认值后输出默认值

        System.out.println("name1:"+properties.getProperty("name1","233333"));

       

        //设置配置的值

        //当key存在时,修改值;key不存在时,添加

        properties.setProperty("name", "西米");

        properties.setProperty("height", String.valueOf(170));

       

        properties.remove("height");

       

        //配置输出

        //1、输出到控制台

        properties.list(System.out);

        //2、输出到文件

        PrintStream outPrintStream=new PrintStream(new File("./src/test.properties"));

        properties.store(outPrintStream, "这是注释");

    }

}

代码执行效果如下:

Properties配置文件类_第1张图片

你可能感兴趣的:(Properties配置文件类)