问题描述:
大多数常量需要随系统部署而修改,这些参数是不能固定在代码里的,这时候就需要使用properties配置文件了。
1. 建立source folder,文件名随意
2.新建properties文件,以键值对存储
3.读取助兴
**
* 配置 文件的解析
* @author Administrator
*
*/
public class PropertiesUtil {
private static Properties config = null;
static {
InputStream in = PropertiesUtil.class
.getResourceAsStream("officeToSwf.properties");
InputStream dbInputStream=PropertiesUtil.class
.getResourceAsStream("database.properties");
InputStream fileInputStream=PropertiesUtil.class
.getResourceAsStream("file.properties");
config = new Properties();
try {
config.load(in);
config.load(dbInputStream);
config.load(fileInputStream);
in.close();
} catch (IOException e) {
System.out.println("No officeToSwf.properties defined error");
}
}
// 根据key读取value
public static String readValue(String key) {
// Properties props = new Properties();
try {
String value = config.getProperty(key.trim());
return value;
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
return null;
}
}
// 读取properties的全部信息
@SuppressWarnings("rawtypes")
public static void readAllProperties() {
try {
Enumeration en = config.propertyNames();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
String Property = config.getProperty(key.trim());
System.out.println(key + Property);
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("ConfigInfoError" + e.toString());
}
}
public static void main(String args[]) {
// String LaSaPhone=config.getProperty("LaSaPhone");
// System.out.println(LaSaPhone);
// System.out.println(getPhone.readValue("LaSaPhone"));
PropertiesUtil.readAllProperties();
}
4.使用
public class DBProperties {
// 数据库连接相关配置
public static final String DRIVER_NAME = PropertiesUtil
.readValue("jdbc.driverName");
public static final String USER_NAME = PropertiesUtil
.readValue("jdbc.userName");
public static final String PASSWORD = PropertiesUtil
.readValue("jdbc.password");
public static final String IP = PropertiesUtil.readValue("jdbc.ip");
public static final String PORT = PropertiesUtil.readValue("jdbc.port");
public static final String DATABASE_NAME = PropertiesUtil
.readValue("jdbc.databaseName");
public static final String USEUNICODE = PropertiesUtil.readValue("jdbc.useUnicode");
public static final String CHARACTERENCODING = PropertiesUtil.readValue("jdbc.characterEncoding");
}