java读取properties文件

java读取properties文件

网络中常见的读取property文件的六种方法
如果配置文件在包中,要加入配置文件的路径,一般是在classpath下依次查找,如conf /crm/db.properties,默认路径在classpath下,如果配置文件就在classpath下,没有放在包中,就直接写文件名。
1。使用java.util.Properties类的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);

2。使用java.util.ResourceBundle类的getBundle()方法
示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

3。使用java.util.PropertyResourceBundle类的构造函数
示例: InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);

4。使用class变量的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in); //如果配置文件在包中,要加入配置文件的路径,一般是在classpath下依次查找。如conf/crm/db.properties

6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
示例: InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);
补充
Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);

实际使用中最多的还是class.getResourceAsStream(name)
在使用时,最好使用指定类名,或直接使用Object
Object.class.getResourceAsStream("path")
参考:http://lavasoft.blog.51cto.com/62575/62174;http://blog.csdn.net/xue_feitian/article/details/6750618

原文地址:https://www.cnblogs.com/ikuman/p/4565492.html