jar包中的类如何读取包内和包外的配置文件


最近将代码打包成jar包,关于如何处理读取配置文件的问题特此记录一下。 

目录结构如下
  1. out.properties  
  2. a.jar  
  3.   -com  
  4.    -a.class  
  5.     -in.properties  



如上所示,out.properties是于a.jar包在同一文件目录下; 
in.properties是在a.jar包内部的。 

关于a.class如何读取jar内或jar外的配置文件, 
如下所示: 

Java代码 
  1. FileInputStream inputStream1 = new FileInputStream("out.properties");  
  2. InputStream inputStream2 = a.class.getResourceAsStream("/in.properties");  



另外,Log4j的配置文件log4j.properties也可以放在和jar包同级目录下,会自动生效。 

如果xml文件和jar包在同一目录下,那么和在classpath中没什么区别。可以直接读取、加载

原文地址:https://www.cnblogs.com/onmyway20xx/p/4212903.html