/*
* 将properties中的内容转换成map
* 可以将filepath抽取成参数
*
*/
public class ProExec {
private static final Logger logger = LoggerFactory.getLogger(ProExec.class);
public static void main(String[] args) {
String filepath = "/config.properties";
//Properties继承了HashTable-->map
//properties和HashMap是兄弟类,propertie一般只存储String key和String value
Properties pro = new Properties();
Map<String, String> envMap = new HashMap();
//getResourceAsStream:获取配置文件
//props.load(new FileInputStream("db.properties")); 是读取当前目录的db.properties文件
//getClass.getResourceAsStream("db.properties"); 是读取当前类所在位置一起的db.properties文件
logger.info(ProExec.class.getResource(filepath).getFile());
InputStream is = ProExec.class.getResourceAsStream(filepath);
try {
pro.load(is); //load(加载,把文件里面内容读到java程序里面)
// System.out.println( pro.keySet()); //[password, username] 集合
Iterator iterator = pro.keySet().iterator(); //ketSet 返回包含所有key 的set iterator()获取迭代器
while(iterator.hasNext()){//用于检测集合中是否还有元素。
Object key = iterator.next();//返回迭代器的下一个元素,并且更新迭代器的状态。
envMap.put((String)key,(String)pro.get(key));//get(KEY) 通过键找值
}
System.out.println(envMap);
} catch (IOException e) {
logger.error("加载配置文件:{}异常",filepath , e );
e.printStackTrace();
}finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
将properties内容存到java 中的map对象中
最新推荐文章于 2024-04-11 23:13:30 发布