方法一、通过java.util.Properties读取
Properties p=new Properties(); //p需要InputStream对象进行读取文件,而获取InputStream有多种方法: //1、通过绝对路径:InputStream is=new FileInputStream(filePath); //2、通过Class.getResourceAsStream(path); //3、通过ClassLoader.getResourceAsStream(path); p.load(InputStream is); is.close(); p.getString(String(key))
方法二、通过java.util.ResourceBundle读取
ResourceBundle rb=ResourceBundle.getBundle(packageName);
rb.getString(String key);
Class.getResourceAsStream与ClassLoader.getResourceAsStream的区别
首先,Java中的getResourceAsStream有以下几种:
1. Class.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由 ClassLoader获取资源。
2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/'开头,最终是由ClassLoader获取资源。
3. ServletContext. getResourceAsStream(String path):默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。
4. Jsp下的application内置对象就是上面的ServletContext的一种实现。