package com.javase.io;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
/**
* IO+Properties的联合应用:
* 非常好的一个设计理念:
* 以后需要经常改变的数据,可以单独写到一个文件中,使用程序动态读取,
* 只需要修改这个文件的内容,java代码不需要改动,不需要重新编译,
* 服务器也不需要重启,就可以拿到动态的信息。
*
* 类似于以上机制的这种文件被称为配置文件。
* 当配置文件中的内容是如下格式:
* key1=value1
* key2=value2
* 我们称该文件是属性配置文件。
*
* java规范中有要求:属性配置文件建议以properties结尾,但不是必须的
*
*/
public class IoPropertiesText01 {
public static void main(String[] args) {
/**
* Properties是一个Map集合,它里面的key和value都是String类型
* 现在想将userinfo.properties文件中的数据加载到Properties集合的对象当中。
*/
FileReader reader = null;
try {
// 创建一个输入流
reader = new FileReader("userinfo.properties");
// 创建一个集合(Properties集合)
Properties pro = new Properties();
// 读文件(文件内容通过reader流直接到了pro当中)
pro.load(reader);
// 通过key获取value
String username = pro.getProperty("username");
System.out.println(username);
System.out.println(pro.getProperty("password"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
userinfo.properties文件