Properties类简介 及 IDEA properties文件配置方法
程序员文章站
2022-05-08 09:26:11
...
Properties类
简要概括: Properties类是 键和值均为字符串的可以永久存储到文件中的key-value集合
java.util.Properties类表示一组持久的属性,是Hashtable的子类。 Properties可以保存到流中或从流中加载,可以保存到后缀名为properties的文件中。 属性列表中的每个键及其对应的值都是一个字符串。 即键和值都是String类型。
因为Properties从继承Hashtable时, put种putAll方法可应用于Properties对象。
强烈不鼓励使用它们,因为它们允许调用者插入其键或值不是Strings 。 应该使用setProperty方法。
这个类是线程安全的:多个线程可以共享一个Properties对象,而不需要外部同步。
常用方法
load() 方法,将数据(键值对)从properties文件中加载到内存中,可通过调用者来访问数据
//从输入字节流读取属性列表(键和元素对)
void load(InputStream inStream)
//以简单的线性格式从输入字符流读取属性列表(关键字和元素对)
void load(Reader reader)
store() 方法,将属性列表(键和元素对)写入此 Properties表中,
//将此属性列表(键和元素对)写入此 Properties表中
void store(OutputStream out, String comments)
//将此属性列表(键和元素对)写入此 Properties表中
void store(Writer writer, String comments)
对键值对进行操作
//得到key 对应的值
String getProperty(String key)
//插入键值对或者修改键值对
Object setProperty(String key, String value)
案例:
import java.util.*;
import java.io.*;
//先创建Properties类的实例,插入一系列key-value,存储到"e:\\1.properties"
//中,然后在从文件中读取属性,打印到控制台
public class PropertiesDemo {
public static void main(String[] args) throws IOException {
fun_2();//创建Properties 并存储到文件
fun_1();//从文件中读取并打印到控制台
}
public static void fun_1() throws IOException {
Properties pro = new Properties();
FileReader fr = new FileReader("e:\\1.properties");
pro.load(fr);
fr.close();
System.out.println(pro);
}
public static void fun_2() throws IOException {
Properties pro = new Properties();
FileWriter fw = new FileWriter("e:\\1.properties");
pro.setProperty("name", "fengjl");
pro.setProperty("age", "11");
pro.setProperty("email", "aaa@qq.com");
pro.store(fw, "abc");
fw.close();
}
}
IDEA中配置properties文件的方法
IDEA中.properties文件是Resource型文件,故创建新的文件类型是应选择 Resource Bundle 类型 然后以文本文件的格式写入配置信息
完成配置信息后,会在创建处看到后缀为.properties的文件,然后将此文件编译后,可以在out中对应项目的区域看到相应的文件。
下图中1处为 创建时位置,2处为编译后IDEA自动复制到的位置
因为编译后IDEA会自动的向该区域(存储Class文件区域)复制一份,这样我们在编写配置程序时就可以使用类加载器来进行配置文件的载入,因为该文件在类加载的路径中。
类加载器载入配置文件如下
//JDBCUtils类 为代码所在类,主要目的是由此类得到类加载器
InputStream in =
JDBCUtiles.class.getClassLoader().getResourceAsStream("database.properties");
Properties pro = new Properties();
pro.load(in);
推荐阅读
-
Spring Cloud Config RSA简介及使用RSA加密配置文件的方法
-
Spring Cloud Config RSA简介及使用RSA加密配置文件的方法
-
在SpringBoot下读取自定义properties配置文件的方法
-
基于redis.properties文件的配置及说明介绍
-
Python实现加载及解析properties配置文件的方法
-
Properties 类读取配置文件
-
JDBC工具类抽取方法(使用properties配置文件)
-
IDEA中java的properties配置文件报空指针解决方案
-
Java语言读取配置文件config.properties的方法讲解
-
将properties文件的配置设置为整个Web应用的全局变量实现方法