在近期需要部署一个项目,所以用到了配置文件。
对于读取配置文件的过程,考虑到效率问题,决定在程序启动时将配置文件内的键值读写入变量。
这样一来,之后程序每次对键值的访问就不用在读配置文件了,而是直接取变量值。
如下是简化之后的用例,展示了一种对properties文件的读取使用方法:
1.创建配置文件data.properties,文件内容如下:
user=BUPT pwd=100876
2.创建存储配置文件键值用到的文件Conf.java
1 public class Conf { 2 3 private static String myUser = "myUser"; 4 private static String myPwd = "myPwd"; 5 6 public static String getUser(){ 7 return myUser; 8 } 9 10 public static String getPwd(){ 11 return myPwd; 12 } 13 14 public static void setUser(String user){ 15 myUser = user; 16 } 17 18 public static void setPwd(String pwd){ 19 myPwd = pwd; 20 } 21 22 }
3.创建main函数所在的文件Test.java
1 public class Test { 2 public static void main(String[] args){ 3 loadConf("data.properties");//读取配置文件,并存入变量 4 printData();//打印出配置文件中的内容 5 } 6 7 private static void printData() { 8 String password = Conf.getPwd(); 9 String user = Conf.getUser(); 10 System.out.println("user:"+user+", password:"+password); 11 } 12 13 private static void loadConf(String path) { 14 //加载配置文件 15 InputStream inputStream = Test.class.getResourceAsStream(path); 16 Properties p = new Properties(); 17 try { 18 p.load(inputStream); 19 } catch (IOException e) { 20 e.printStackTrace(); 21 } 22 //将配置文件中的值赋值给Conf类中的变量 23 Conf.setPwd(p.getProperty("pwd")); 24 Conf.setUser(p.getProperty("user")); 25 } 26 }
4.运行Test.java结果:
user:BUPT, password:100876