import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
/**
* Created by 2014-400 on 2016-01-26.
*/
public class PropertiesUtil {
private static final Logger log = LoggerFactory.getLogger(PropertiesUtil.class);
/**
* jdk自带方法获取
*
* @param file
* @return
*/
private static Properties getPropertiesByClassPath(String file) {
try {
InputStream is = ClassLoader.getSystemResourceAsStream(file);
Properties props = new Properties();
props.load(is);
return props;
} catch (Exception e) {
log.error("PropertiesUtil getPropertiesByClassPath is error ", e);
return null;
}
}
/**
* 用spring工具类获取
*
* @param file
* @return
*/
public static Properties getPropertiesByResource(String file) {
try {
Resource resource = new ClassPathResource(file);
Properties props = PropertiesLoaderUtils.loadProperties(resource);
return props;
} catch (Exception e) {
log.error("PropertiesUtil getPropertiesByResource is error ", e);
return null;
}
}
public static Properties getProperties(String fileName) throws Exception {
Properties props = getPropertiesByResource(fileName);
if (null == props) {
props = getPropertiesByClassPath(fileName);
}
return props;
}
public static Map<String, String> getMap(String fileName) throws Exception {
Properties properties = getProperties(fileName);
Map map = new HashMap<String, String>();
for (Object key : properties.keySet()) {
map.put(key.toString(), properties.getProperty(key.toString(), ""));
}
return map;
}
}