记得面试阿里的时候,提到配置文件,当时只是觉得配置文件很好用,至于为什么,小笨鸟表示不知道。今天单位要搞一个技术联谊,我们这些倒霉的小笨鸟肯定都是炮灰,所以还是多看一点是一点,话不多说,把学到的共享是一贯的准则,开始喽~
一、Properties类
既然有配置文件,那么就对应的拥有读取配置文件的类和方法,各种语言都不例外。java中有一个很重要的类,就是读取配置文件的类Properties类,这个类继承自HashTable,关系如下:
那么,配置文件到底有什么好处呢?在软件的整个生命周期中,开发人员只是占据了一小部分,很大一部分时间都是用户占用,这个不言而喻了,而且我们在开发的时候面向的用户往往都不是业内人士,所以他们很大可能不懂代码,而开发中有一些变量会根据不同的情况而改变,例如数据库的配置信息,这个时候配置文件的好处就显现了,将这些容易修改的变量写在配置文件中,而配置文件又是简单的“键值对”(key=value),即使不懂开发的人员也很容易阅读,这样也不会对开发人员的源代码造成更改,让用户能够脱离程序本身去修改变量信息,安全方便!而且,配置文件不需要将程序重新编译,只需要重启就行。
二、java读取Properties文件
有多种方法,常用的方法是通过java.lang.Class的getResourceAsStream(String name)方法,即InputStream in=getClass().getResourceAsStream("资源name");
方法二:
InputStream in=new BufferedInputStream(new FileInputStream(filepath));
配置文件修改之后,也可以通过java动态加载,不重启程序,方法如下:
- String path = CommonUtils.class.getClassLoader().getResource("config.properties").getPath();
- String dirPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();