在Java项目中,如何获取src根目录下的属性文件/资源文件呢?
有如下三种方式:
方式一:
- InputStream in = Test.class
- .getResourceAsStream("/env.properties");
- URL url = Test.class.getResource("<span style="color: #000000;">/</span>env.properties") ;
说明:env.properties文件在src的根目录下,文件名前有斜杠
方式二:
- InputStream in = Test.class.getClassLoader()
- .getResourceAsStream("env.properties");
- URL url = Test.class.getClassLoader().getResource("env.properties") ;
方式三:
- InputStream in = Thread.currentThread().getContextClassLoader()
- .getResourceAsStream("ExcelModeMappingl.xml");
示例:
- /***
- *
- * @param filePath
- * @return
- * @throws IOException
- */
- public static Properties getProperties(String filePath) throws IOException {
- InputStream in = Thread.currentThread().getContextClassLoader()
- .getResourceAsStream(filePath);
- Properties prop = new Properties();
- try {
- prop.load(in);
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (in != null) {
- in.close();
- }
- }
- return prop;
- }
测试1:
- @Test
- public void test_GenericReadPropsUtil() throws IOException{
- Properties pro=GenericReadPropsUtil.getProperties("test_switch.properties");
- System.out.println(pro.get("name"));
- }
说明:
test_switch.properties的位置与com同级目录,即test_switch.properties在src根目录下。
测试2:
- @Test
- public void test_GenericReadPropsUtil() throws IOException{
- Properties pro=GenericReadPropsUtil.getProperties("com/wh/test_switch.properties");
- System.out.println(pro.get("endpoint.isSelfCheck"));
- }
说明:
test_switch.properties的位置:com/wh/test_switch.properties