Properties
- 什么是Properties
该类主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很多变量是经常改变的,为了方便用户的配置,能让用户够脱离程序本身去修改相关的变量设置。就像在Java中,其配置文件常为.properties文件,是以键值对的形式进行参数配置的。
- 配置文件的格式
键=值
键=值
…
注意:键值对不需要空格,值默认是String,不需要引号
- 为什么使用
在Java程序中如果我们直接把一些可修改变量直接写入到程序中,类似于用户名和密码,当我们切换数据库需要更改密码时,就需要去源文件中修改代码,这是极其不合理的,所以Java引入了Properties类,我们只需将这些数据写入到配置文件中去就行
- 传统的方法
public static void main(String[] args) throws IOException {
//读取文件
BufferedReader bufferedReader = new BufferedReader(new FileReader("src\\mysql.properties"));
String line="";
while((line=bufferedReader.readLine())!=null){
//System.out.println(line);
String[] split = line.split("=");
//split() 方法可以按指定的分割符对目标字符串进行分割,分割后的内容存放在字符串数组中
System.out.println(split[0]+"为:"+split[1]);
}
- Properties常见的方法
- load:加载配置文件的键值到Properties对象中去
- list:将数据显示到指定设备中去
- getProperty(key):根据键来获取值
- setProperty(key,value):设置键值对到Properties对象中去
- store:将Properties中的键值对存储到配置文件中去在idea中保存信息到配置文件,如果有中文会转换为Unicode码
- Properties方法
public static void main(String[] args) throws IOException {
//创建一个Properties对象
Properties properties=new Properties();
//加载配置文件
properties.load(new FileReader("src\\mysql.properties"));
//显示文件内容到控制台
properties.list(System.out);
//根据指定key获取value
String pwd = properties.getProperty("pwd");
System.out.println("密码:"+pwd);
//如果没有key就是添加新的key-value如果有key就替换掉以前的value
properties.setProperty("country","china");
properties.setProperty("pwd","321");
properties.store(new FileOutputStream("src\\mysql.properties"),null);
}