Java教程

【IO编程】9.Properties类

本文主要是介绍【IO编程】9.Properties类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 基本介绍

  1. 该类专门用于读写配置文件的集合类

  2. 配置文件的格式为:

    键=值
    键=值

  3. 键值对不需要有空格,值不需要用引号""包裹,默认的类型是String

2. Properties介绍

  • 构造方法
    • Properties()
  • 成员方法
    • void load(InputStream in)
      • 以字节流方式加载配置文件
    • void load(Reader in)
      • 以字符流方式加载配置文件
    • void list(PrintStream out)
      • 将数据以字节流输出到指定设备中
    • void list(PrintWriter out)
      • 将数据以字符流输出到指定设备中
    • String getProperty(String key)
      • 根据键获取值
    • String getProperty(String key, String defaultValue)
      • 根据键获取值,并可指定默认值,如果配置文件中没有该数据就使用默认值
    • Object setProperty(String key, String value)
      • 设置键值对,如果有key就是修改,没有就是创建
    • void store(Writer writer, String comments)
      • 将Properties对象中的键值对存储到配置文件中。在idea中,保存信息到配置文件时,如果含有中文会存储为unicode码

案例:

  • 初始application.properties配置文件
username=admin
password=123456
  • 以下代码对配置文件进行读取以及写入等操作。
@Test
public void readProperties1() throws IOException {
    Properties properties = new Properties();
    properties.load(new FileReader("src\\main\\resources\\application.properties"));

    System.out.println("--------显示所有键值对--------");
    properties.list(System.out);

    System.out.println("-----根据key获取value的值-----");
    System.out.println("username=" + properties.getProperty("username"));
    System.out.println("password=" + properties.getProperty("password"));

    System.out.println("---------修改value值---------");
    properties.setProperty("password", "111111");
    System.out.println("password=" + properties.getProperty("password"));

    System.out.println("----------新建键值对----------");
    properties.setProperty("charset", "gbk");
    System.out.println("charset=" + properties.getProperty("charset"));

    System.out.println("---------保存配置文件---------");
    properties.store(new FileWriter("src\\main\\resources\\application.properties"), null);
    System.out.println("保存成功");
}
  • 代码运行后的application.properties配置文件
#Wed Jul 21 13:55:45 CST 2021
password=111111
charset=gbk
username=admin
这篇关于【IO编程】9.Properties类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!