1.通过文件流来加载
1 InputStream in= new FileInputStream("sample.properties");
2 Properties properties = new Properties();
3 properties .load(in);
这种方式采用相对路径的方式加载,对于不同的系统、不同的运行环境不一定全都能正确加载
2.采用ClassLoader的getResourceAsStream方式进行加载
1 InputStream in = PropertiesTest.class.getClassLoader().getResourceAsStream("sample.properties");
2 Properties properties = new Properties();
3 properties .load(in);
对于这种方式,getClassLoader()的默认位置是classes文件夹,但是如果类加载是委托机制,将有可能加载不成功
3.采用Class的getResourceAsStream方式进行加载
1 InputStream in = PropertiesTest.class.getResourceAsStream("sample.properties");
2 Properties properties = new Properties();
3 properties .load(in);
对于这种方式,默认加载位置是class文件对应的位置
此外通过
1.PropertiesTest.class.getResource("sample.properties").getPath();
2.PropertiesTest.class.getClassLoader().getResource("sample.properties").getPath();
两种方式都可以获取文件的相对路径