读取属性配置文件的方法比较多,用的地方也比较多,比如:连接池配置信息写到属性文件中可以更方便。个人比较喜欢两种:
属性配置文件就是.properties文件,这类文件一般放在这工程的CLASSPATH下,读取属性文件的方法很多,这类列出比较常用的几个:
1、通过java.util.ResourceBundle读取,参考:
ResourceBundle res = ResourceBundle.getBundle("struts-app");
String jndiName = res.getString("jdbcName");
System.out.println("jndiName==="+jndiName);
这样就能得到CLASSPATH下的struts-app.properties属性文件中的配置信息量。属性配置文件中是key=value对。
2、通过java.util.Properties的load方法读取,参考:
package com.prop;
import java.util.*;
import java.io.*;
public class PropTest {
private static Properties prop = new Properties();
PropTest(){
//InputStream in = PropTest.class.getResourceAsStream("prop.properties");//这个获取同包中的属性文件
//获取CLASSPATH下的属性配置文件要用到ClassLoader类
InputStream in = PropTest.class.getClassLoader().getResourceAsStream("prop.properties");
try {
prop.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String arg[]){
//
PropTest pt = new PropTest();
System.out.println(pt.prop.get("1"));
System.out.println(pt.prop.get("2"));
System.out.println(pt.prop.get("3"));
//
System.out.println(new PropTest().prop.get("1"));
System.out.println(new PropTest().prop.get("2"));
System.out.println(new PropTest().prop.get("3"));
}
}
prop.properties内容如下:
1=ORACLE
2=DB2
3=SYBASE