Properties用于读取配置

  • properties文件只能使用ASCII码
  • #表示注释
  • 可以从文件系统读取.properties文件
        Properties props = new Properties();
        String f = "C:\\conf\\setting.properties";
        props.load(new FileInputStream(f));
  • 可以从classpath读取.properties文件
        Properties props = new Properties();
        props.load(getClass().getResourceAsStream("/com/testList/setting.properties"));
  • 读取多个.properties文件
  • 后读取的key-value会覆盖已读取的key-value。可以把默认的配置放在classpath中,根据环境编写另外的配置。

Properties设计的目的是为了存储String类型的key-value,但Properties实际上是从Hashtable派生的,存在兼容型问题,且未修复,get和put方法不要用

  • String getProperty(String key)
  • void setProperty(String key,String value)
  • Object get(Object key)
  • void put(Object key,Object value)

setting.properties

url=https://www.baidu.com
language=Java
course.title=java\u96c6\u5408\u7c7b

Main.java

public class Main {
    public static void main(String[] args) throws IOException {
        Properties props = new Properties();
        props.load(Main.class.getResourceAsStream("/com/testList/setting.properties"));
        String url = props.getProperty("url");
        String courseTitle = props.getProperty("course.title");
        String language = props.getProperty("language");
        String desc = props.getProperty("description","no desciption");
        System.out.println(url);
        System.out.println(courseTitle);
        System.out.println(language);
        System.out.println(desc);
    }
}
廖雪峰Java5集合-3Map-Properties的使用 ## 总结 * Properties用于读写配置文件xx.properties * .properties文件只能使用ASCII编码 * 可以从ClassPath或文件系统读取.properties文件 * 读写Properties时: * 仅使用getProperty()/setProperty()方法 * 不要调用继承而来的get()/put()方法

相关文章:

  • 2021-09-06
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2021-12-10
  • 2022-12-23
  • 2021-11-27
  • 2021-12-22
猜你喜欢
  • 2021-12-03
  • 2021-07-22
  • 2021-09-15
  • 2021-11-06
  • 2021-08-12
  • 2021-07-27
  • 2022-02-23
相关资源
相似解决方案