读取资源文件的N种方法

如何读取资源文件:
(一)
Properties props = new Properties();   
props.load(new FileInputStream("db.properties"));
(二)
blog.properties文件如下
dbdriver=oracle.jdbc.driver.OracleDriver
dburl=jdbc:oracle:thin:@127.0.0.1:1521:ora92
dbuser=blog
dbpwd=blog
--------------
public class Config {
  public Config() {
    this.initDBConfig();
  }
  public String DBdriver;
  public String DBuser;
  public String DBpwd;
  public String DBurl;
  private void initDBConfig() {
    try {
      ResourceBundle bundle = ResourceBundle.getBundle("blog");
      DBdriver = bundle.getString("dbdriver");
      DBurl = bundle.getString("dburl");
      DBuser = bundle.getString("dbuser");
      DBpwd = bundle.getString("dbpwd");
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}
----------------
public class DAO {
  public DAO() {
  }
  public Connection getConnection() {
    Connection conn = null;
    Config config = new Config();
    String DBdriver = config.DBdriver;
    String DBuser = config.DBuser;
    String DBpwd = config.DBpwd;
    String DBurl = config.DBurl;
    try {
      Class.forName(DBdriver);
      conn = DriverManager.getConnection(DBurl, DBuser, DBpwd);
    }
    catch (Exception ex) {
      System.out.println("********************");
      System.out.println("不能得到数据库连接");
      System.out.println("DBdriver: " + DBdriver);
      System.out.println("DBuser: " + DBuser);
      System.out.println("DBpwd: " + DBpwd);
      System.out.println("DBurl: " + DBurl);
      ex.printStackTrace();
    }
    return conn;
  }
}
(三)
 Properties props=new Properties();
 props.load(BugFactory. class.getResourceAsStream("xx.properties"));
 String name = props.getPropery("xxxx");
 此时xx.properties应该与该类放在同一个目录.
(四)
 ResourceBundle res = ResourceBundle.getBundle("yy.properties");
 String name = res.getString("yyyy");
 yy.properties应放在/WEB-INF/classes目录
(五)
如果你这个Bean打包的话,就把这个文件放在包内。
我一般是这样写的
Properties prop = new Properties();
try
{
  InputStream is = getClass().getResourceAsStream("db.properties");
 prop.load( is);
 if( is!=null)
    is.close();
}
另:
props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件
getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置一起的db.properties文件
getClass.getResourceAsStream("/db.properties"); 是读取ClassPath的根的db.properties文件,注意ClassPath如果是多个路径或者jar文件的,只要在任意一个路径目录下或者jar文件里的根下都可以,如果存在于多个路径下的话,按照ClassPath中的先后顺序,使用先找到的,其余忽略.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值