(1) Java中比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式,文本注释信息可以用"#"来注释。
操作.properties文件的工具类:
public class PropertiesUtil {
private static final Logger logger = LoggerFactory.getLogger(PropertiesUtil.class);
private static Properties PROPERTIES;
private static final String INIT_PROPERTIES = "init.properties";
/**
* 初始化Properties
* @return
*/
private static Properties getPropertiesForJar() {
if (PROPERTIES == null) {
synchronized (PropertiesUtil.class) {
if (PROPERTIES == null) {
String fileName = INIT_PROPERTIES;
PROPERTIES = PropertiesUtil.loadPropertiesForJar(fileName);
}
}
}
return PROPERTIES;
}
/**
* 加载文件
* @param fileName
* @return
*/
private static Properties loadPropertiesForJar(String fileName) {
String filePath = "/" + fileName;
Properties properties = new Properties();
try {
InputStream in = PropertiesUtil.class.getResourceAsStream(filePath);
try {
properties.load(in);
} finally {
in.close();
}
} catch (Exception e) {
logger.warn(
"Failed to load " + fileName + " file from " + filePath + "(ingore this file): " + e.getMessage(),
e);
}
return properties;
}
/**
* jar包读取配置文件(无默认值)
*
* @param key
* @return
*/
public static String getPropertyForJar(String key) {
Properties properties = getPropertiesForJar();
return properties.getProperty(key);
}
/**
* jar包读取配置文件(含默认值)
* @param key
* @param defaultValue
* @return
*/
public static String getPropertyForJar(String key, String defaultValue) {
Properties properties = getPropertiesForJar();
return properties.getProperty(key, defaultValue);
}
}