欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java读取资源文件

程序员文章站 2022-04-28 19:19:59
...

读取资源文件的种方法- -

如何读取资源文件:
(一)
The java code:
代码后运行!">
  1. Properties props =  new  Properties();   
  2. props.load(new  FileInputStream( "db.properties" ));   
Properties props = new Properties(); 
props.load(new FileInputStream("db.properties")); 

(二)
blog.properties文件如下
The java code:
  1.    
  2. dbdriver=oracle.jdbc.driver.OracleDriver     
  3. dburl=jdbc:oracle:thin:@127 .0. 0.1 : 1521 :ora92     
  4. dbuser=blog     
  5. dbpwd=blog     
  6. --------------     
  7. public   class  Config {     
  8.   public  Config() {     
  9.     this .initDBConfig();     
  10.   }     
  11.   public  String DBdriver;     
  12.   public  String DBuser;     
  13.   public  String DBpwd;     
  14.   public  String DBurl;     
  15.   private   void  initDBConfig() {     
  16.     try  {     
  17.       ResourceBundle bundle = ResourceBundle.getBundle("blog" );     
  18.       DBdriver = bundle.getString("dbdriver" );     
  19.       DBurl = bundle.getString("dburl" );     
  20.       DBuser = bundle.getString("dbuser" );     
  21.       DBpwd = bundle.getString("dbpwd" );     
  22.     }     
  23.     catch  (Exception ex) {     
  24.       ex.printStackTrace();     
  25.     }     
  26.   }     
  27. }     
  28. ----------------     
  29. public   class  DAO {     
  30.   public  DAO() {     
  31.   }     
  32.   public  Connection getConnection() {     
  33.     Connection conn = null ;     
  34.     Config config = new  Config();     
  35.     String DBdriver = config.DBdriver;     
  36.     String DBuser = config.DBuser;     
  37.     String DBpwd = config.DBpwd;     
  38.     String DBurl = config.DBurl;     
  39.     try  {     
  40.       Class.forName(DBdriver);     
  41.       conn = DriverManager.getConnection(DBurl, DBuser, DBpwd);     
  42.     }     
  43.     catch  (Exception ex) {     
  44.       System.out.println("********************" );     
  45.       System.out.println("不能得到数据库连接" );     
  46.       System.out.println("DBdriver: "  + DBdriver);     
  47.       System.out.println("DBuser: "  + DBuser);     
  48.       System.out.println("DBpwd: "  + DBpwd);     
  49.       System.out.println("DBurl: "  + DBurl);     
  50.       ex.printStackTrace();     
  51.     }     
  52.     return  conn;     
  53.   }     
  54. }    
 
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;   
  }   
}  

(三)
The java code:
  1.    
  2. Properties props=new  Properties();     
  3. props.load(BugFactory.class .getResourceAsStream( "xx.properties" ));     
  4. String name = props.getPropery("xxxx" );    
 
Properties props=new Properties();   
props.load(BugFactory.class.getResourceAsStream("xx.properties"));   
String name = props.getPropery("xxxx");  

此时xx.properties应该与该类放在同一个目录.
(四)
The java code:
  1. ResourceBundle res = ResourceBundle.getBundle( "yy.properties" );     
  2. String name = res.getString("yyyy" );    
 ResourceBundle res = ResourceBundle.getBundle("yy.properties");   
 String name = res.getString("yyyy");  

yy.properties应放在/WEB-INF/classes目录(五)
如果你这个Bean打包的话,就把这个文件放在包内。
我一般是这样写的
The java code:
  1.  Properties prop =  new  Properties();     
  2. try     
  3. {     
  4.  InputStream is = getClass().getResourceAsStream("db.properties" );     
  5.  prop.load(is);     
  6.  if (is!= null )     
  7.     is.close();     
  8. }    
 Properties prop = new Properties();   
try  
{   
 InputStream is = getClass().getResourceAsStream("db.properties");   
 prop.load(is);   
 if(is!=null)   
    is.close();   
}  

另:
The java code:
  1.  props.load( new  FileInputStream( "db.properties" )); 是读取当前目录的db.properties文件     
  2. getClass.getResourceAsStream("db.properties" ); 是读取当前类所在位置一起的db.properties文件     
  3. getClass.getResourceAsStream("/db.properties" ); 是读取ClassPath的根的db.properties文件,注意    
 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中的先后顺序,使用先找到的,其余忽略.