问题:
经常变化的信息,若是直接写到java源程序中,因为信息改变,所以需要重新编译,甚至重启服务器,非常的麻烦,有什么办法改进呢?
解决方法:
不直接写在java源程序中, 将这个经常变化的信息写到文件之中,动态获取,只要运行程序就可以直接获取。
类似于以上机制的这种文件被称作配置文件,并且当配置文件中的内容格式是:
key1=value
key2=value
的时候,我们把这种配置文件叫做属性配置文件。
java规范中有要求:属性配置文件建议以.properties结尾,但这不是必须的。
这种以.properties结尾的文件再java中被称为:属性配置文件
其中Properties是专门存放属性配置文件内容的一个类。
//这种机制常用于反射中
/*
* Properties是Map集合,key和value都是String类型
* 想将userinfo文件中的数据加载到Properties对象当中.
* */
//新建一个输入流对象
FileInputStream reader = new FileInputStream("userinfo");
//新建一个Map集合
Properties pro = new Properties();
//调用Properties对象中的load()方法将文件中的数据加载到Map集合中
pro.load(reader);
//文件中的数据顺着管道加载到Map集合中,其中等号“左边作key”,“右边作value”
//通过key来获取value?
String username = pro.getProperty("username");
System.out.println(username);
String password = pro.getProperty("password");
System.out.println(password);
属性配置文件注意事项:
username=admin
#属性配置文件中,#号是注释符号
#属性配置文件的key重复,value会自动覆盖
#password=654646
#最好等号两边不要有空格
password=123asdfgasdg
#可以使用“:”隔开,但是最好使用=
#usernamex:admin