properties文件的解析:
本类中是把properties文件中的数据存放到了一个Map中,调用时只需要在Map中取即可;
本类中的方法都是静态(static)的,在调用时不需要实例化,使用格式为:ConfigerReader.方法;
public class ConfigerReader {
private static final Map<String, String> configerMap;
static {
configerMap = new HashMap<String, String>();
}
//输入为文件名
public static void init(File file) {
try {
InputStream is = new FileInputStream(file);
init(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
//输入为文件路径
public static void init(String path) {
InputStream is = ConfigerReader.class.getResourceAsStream(path);
init(is);
}
//输入为InputStream
public static void init(InputStream is) {
try {
InputStreamReader isr = new InputStreamReader(is, "utf-8");
Properties properties = new Properties();
properties.load(isr);
Enumeration<?> keys = properties.propertyNames();
while(keys.hasMoreElements()) {
String key = (String) keys.nextElement();
String value = properties.getProperty(key);
//存入Map中
configerMap.put(key, value);
}
} catch (Exception e) {
e.printStackTrace();
}
}
//获取文件中某一键值对的方法
public static String getValue(String name) {
return configerMap.get(name);
}
}