您的位置:首页 > 编程语言 > Java开发

Java 加载Properties文件的六种方式

2014-07-06 09:59 337 查看
1.使用java.util.Properties类的load()方法
eg: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);

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

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

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

5.使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
eg: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

6.使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
eg: InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);

补充
Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
eg:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);

第一种方法:通过ClassLoader去加载资源。参数需要从classpath的入口来算起。也就是说需要取全路径名称。
第二种方法:通过Class来加载。这种参数,前面的package已经知道了,所以,前面这一部分就已经省去了,只需要写后面的部分就可以了。
第三种方法:通过ResourceBundle来加载。和ClassLoader一样,不过参数是用.来分割的,而不是用/来分割的:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: