读取几种配置文件 java中 , 常见几种配置文件有:.properties,.xml,.yml , spring项目中对这些类型的配置文件通常有现成可用的封装 , 下面用手动解析的方式来操作这些类型配置文件;
首先idea创建项目:

文章插图
application.properties配置文件中 , 设置几个基础配置项:
文章插图
readFromProperties() {Map result = new HashMap<>();Properties properties = new Properties();try (FileInputStream inputStream = new FileInputStream("read-config/application.properties")) {properties.load(inputStream);} catch (Exception e) {e.printStackTrace();}if (!properties.keySet().isEmpty()) {for (Object key : properties.keySet()) {result.put(key.toString(), properties.getProperty(key.toString()));}}return result;}
.properties配置文件可以通过jdk中的java.util.Properties类进行读取和解析 , 注意application.properties文件路径 。测试:

文章插图
Test.java中编写readFromXml()方法解析文件:public static Map readFromXml() {Map result = new HashMap<>();DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();try {DocumentBuilder documentBuilder = factory.newDocumentBuilder();Document document = documentBuilder.parse(new File("read-config/config.xml"));result = node(document);} catch (Exception e) {e.printStackTrace();}return result;}private static Map node(Node node) {Map result = new HashMap<>();NodeList childNodes = node.getChildNodes();for (int i = 0; i < childNodes.getLength(); i++) {Node item = childNodes.item(i);//元素节点-递归if (item.getNodeType() == Node.ELEMENT_NODE) {result.putAll(node(item));}//文本节点-添加mapelse if (item.getNodeType() == Node.TEXT_NODE&& null != item.getNodeValue()&& !"".equals(item.getNodeValue().trim())&& !"\n".equals(item.getNodeValue().trim())) {result.put(item.getParentNode().getNodeName(), item.getNodeValue());}}return result;}【properties配置文件怎么打开 properties,xml,yaml配置文件解析】代码分析:xml解析主要用到
javax.xml.parsers包下的两个类:DocumentBuilderFactory和DocumentBuilder , 通过documentBuilder.parse(new File("read-config/config.xml"))方法解析xml文件为Document对象 。接着用方法node(Node node)递归Document对象各节点到Map对象 。Document本身也是Node对象打印结果:

文章插图
由于jdk没有提供yaml解析工具 , 需要手动导入解析库 , 这里用的库是:
snakeyaml-1.29.jar
文章插图
map = (Map代码说明:解析到Map核心方法是通过
yaml.load(reader) , 该方法将会返回一个Map对象 。输出结果如下:
文章插图
代码说明:解析到对象核心方法是通过
yaml.loadAs(reader, ConfigEntity.class) 。输出结果如下:
文章插图
尊重原创 , 转载请标明出处 , 谢谢
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
