读取资源文件的种方法- -
如何读取资源文件:
(一)
The java code:
代码后运行!">
Properties props =
new Properties(); props.load(
new FileInputStream(
"db.properties" ));
Properties props = new Properties();
props.load(new FileInputStream("db.properties"));
(二)
blog.properties文件如下
The java code:
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; } }
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:
Properties props=
new Properties(); props.load(BugFactory.
class .getResourceAsStream(
"xx.properties" )); 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:
ResourceBundle res = ResourceBundle.getBundle(
"yy.properties" ); 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:
Properties prop =
new Properties();
try { InputStream is = getClass().getResourceAsStream(
"db.properties" ); prop.load(is);
if (is!=
null ) is.close(); }
Properties prop = new Properties();
try
{
InputStream is = getClass().getResourceAsStream("db.properties");
prop.load(is);
if(is!=null)
is.close();
}
另:
The java code:
props.load(
new FileInputStream(
"db.properties" )); 是读取当前目录的db.properties文件 getClass.getResourceAsStream(
"db.properties" ); 是读取当前类所在位置一起的db.properties文件 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中的先后顺序,使用先找到的,其余忽略.