from: http://ud3hero.spaces.live.com/blog/ 读取properties文件

本文介绍了六种使用Java标准库读取Properties配置文件的方法,包括使用Properties类的load方法、ResourceBundle类的getBundle方法等,并提供了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用J2SE API读取Properties文件的六种方法

1。使用java.util.Properties类的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
       Properties p = new Properties();
       p.load(in);

eg.

 public Connection getConnectionProp() {
  Properties prop = new Properties();
  try {
   prop.load(this.getClass().getClassLoader().getResourceAsStream(
   "DBConfig.properties"));
   Class.forName(prop.getProperty("driver"));
   return DriverManager.getConnection(prop.getProperty("url"), prop
     .getProperty("username"), prop.getProperty("password"));
  } catch (Exception e) {
   e.printStackTrace();
  }
  return null;
 }


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

这里name所表示的文件应该在/WEB-INF/classes目录,从web项目中获取properties文件采用 此方法。

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);
这里的name应该与JProperties类处于相同的目录下


5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
       Properties p = new Properties();
       p.load(in);
这里的name应该与JProperties类处于相同的目录下,用了ClassLoader.getResourceAsStream(String)方法,其实Class.getResourceAsStream(String)也是调用它。与上面的方式实质上一样。


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

这里name所表示的文件应该在/WEB-INF/classes目录,从web项目中获取properties文件采用 此方法。


补充

1。Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:InputStream in = context.getResourceAsStream(path);
       Properties p = new Properties();
       p.load(in);


2。要想知道哪个Servlet的Resource的路径,其实你先测试一下就行了:
getResource("/").getPath()看看在哪儿,然后从那儿开始算起 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值