java 如何读取src根目录下的属性文件

Java项目中,如何获取src根目录下的属性文件/资源文件呢?

有如下三种方式:

方式一:

Java代码  java 如何读取src根目录下的属性文件
  1. InputStream in = Test.class   
  2.         .getResourceAsStream("/env.properties");  
  3. URL url = Test.class.getResource("<span style="color: #000000;">/</span>env.properties")  ;  

 说明:env.properties文件在src的根目录下,文件名前有斜杠

 

方式二:

Java代码  java 如何读取src根目录下的属性文件
  1. InputStream in = Test.class.getClassLoader()    
  2.       .getResourceAsStream("env.properties");  
  3. URL url = Test.class.getClassLoader().getResource("env.properties")  ;  

 

 

方式三:

Java代码  java 如何读取src根目录下的属性文件
  1. InputStream in = Thread.currentThread().getContextClassLoader()  
  2.                 .getResourceAsStream("ExcelModeMappingl.xml");  

 示例:

Java代码  java 如何读取src根目录下的属性文件
  1. /*** 
  2.      *  
  3.      * @param filePath 
  4.      * @return 
  5.      * @throws IOException 
  6.      */  
  7.     public static Properties getProperties(String filePath) throws IOException {  
  8.         InputStream in = Thread.currentThread().getContextClassLoader()  
  9.                 .getResourceAsStream(filePath);  
  10.         Properties prop = new Properties();  
  11.         try {  
  12.             prop.load(in);  
  13.         } catch (IOException e) {  
  14.             e.printStackTrace();  
  15.         } finally {  
  16.             if (in != null) {  
  17.                 in.close();  
  18.             }  
  19.         }  
  20.         return prop;  
  21.     }  

 测试1:

Java代码  java 如何读取src根目录下的属性文件
  1. @Test  
  2.     public void test_GenericReadPropsUtil() throws IOException{  
  3.         Properties pro=GenericReadPropsUtil.getProperties("test_switch.properties");  
  4.         System.out.println(pro.get("name"));  
  5.     }  

 说明:

test_switch.properties的位置与com同级目录,即test_switch.properties在src根目录下。

 

 

测试2

Java代码  java 如何读取src根目录下的属性文件
  1. @Test  
  2.     public void test_GenericReadPropsUtil() throws IOException{  
  3.         Properties pro=GenericReadPropsUtil.getProperties("com/wh/test_switch.properties");  
  4.         System.out.println(pro.get("endpoint.isSelfCheck"));  
  5.     }  

 说明:

test_switch.properties的位置:com/wh/test_switch.properties

上一篇:openstack neutron中涉及的网络设备


下一篇:为什么classes目录要放在WEB-INF目录下?