一、java项目中属性配置文件的概念
经常改动的信息,可以单独写到一个文件中,使用程序动态读取。将来只需要修改这个文件的内容即可,java的代码不需要改动,不需要重新编译,不需要重新启动服务器。就可以拿到动态的信息。
类似于以上机制的这种文件被称为配置文件。
并且配置文件中的内容格式是:
key1=value 或者 key1:value
key1=value 或者 key2:value
的时候,我们把这种配置文件叫做属性配置文件。
二、配置文件的原理(IO流+Properties集合的联合使用,获取配置文件中的动态信息)
1、在项目中新建一个路径为“src/userinfo.properties”的文件:如下图所示:
2、利用IO流+Properties集合的联合使用,获取userinfo.properties配置文件中的动态信息,程序如下:
public class IopropertiesTest01 {
/*
Properties是一个Map集合,key和value都是String类型。
想将userinfo文件中的数据加载到Properties对象当中。
*/
public static void main(String[] args) throws Exception{
//新建一个输入流对象
FileReader fileReader=new FileReader("src/userinfo.properties");
//新建一个Map集合
Properties properties=new Properties();
//调用Properties对象的load()方法将文件中的数据加载到Map集合中。
properties.load(fileReader); //文件中的数据顺着管道加载到了Map集合中,其中等号=左边做key,右边做value
System.out.println(properties.getProperty("username"));
System.out.println(properties.getProperty("possword"));
//关闭文件输入流
fileReader.close();
}
}
输出结果为:
admin
123
三、java项目中使用以.properties结尾的属性配置文件注意事项
1、java规范中有要求:属性配置文件建议以.properties结尾,但这不是必须的。也可以是普通的txt文件等,都是可以获取的。
2、这种以.properties结尾的文件在java中被称为:属性配置文件。
3、其中Properties是专门存放属性配置文件内容的一个类。
4、在属性配置文件“#”是注释符号
5、当属性配置文件中的key重复的话,value会自动覆盖,最好key和value中间的等号或者:前后不要有空格。
6、配置文件内容建议使用等号(=),而不是封号(:)