2021年7月14日星期三

properties,xml,yaml配置文件解析

读取几种配置文件

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

首先idea创建项目:

  1. properties
  2. 根目录下创建配置文件:application.properties,和测试类Test.java

    application.properties配置文件中,设置几个基础配置项:

    Test.java中编写readFromProperties()方法解析文件:

    public static Map 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文件路径。
    测试:


  3. application.properties同级目录下创建config.,并写入简单配置信息:

    Test.java中编写readFrom方法解析文件:

    public static Map readFrom result = new HashMap<>(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try {  DocumentBuilder documentBuilder = factory.newDocumentBuilder();  Document document = documentBuilder.parse(new File("read-config/config. 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));  }  //文本节点-添加map  else 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;}

    代码分析:
    javax.包下的两个类:DocumentBuilderFactoryDocumentBuilder,通过documentBuilder.parse(new File("read-config/config.方法解析node(Node node)递归Document对象各节点到Map对象。Document本身也是Node对象

    打印结果:


  4. yaml
  5. application.properties同级目录下创建yaml配置文件config.yml,并写入简单配置信息:

    由于jdk没有提供yaml解析工具,需要手动导入解析库,这里用的库是:snakeyaml-1.29.jar

    通过snakeyaml库,可以解析yaml配置文件为map或者对象。

    该工具库下载地址参考:https://mvnrepository.com/artifact/org.yaml/snakeyaml

    解析到Map

    public static void readFromYml2Map() { try (FileReader reader = new FileReader("read-config/config.yml")) {  Yaml yaml = new Yaml();  Object load = yaml.load(reader);  if (load instanceof Map) {   Map map = (Map) load;   System.out.println("======");   for (Object o : map.keySet()) {    System.out.println("-|key:......

    原文转载:http://www.shaoqun.com/a/875523.html

    跨境电商:https://www.ikjzd.com/

    俄罗斯灰色清关:https://www.ikjzd.com/w/1409

    aca:https://www.ikjzd.com/w/1371

    卖家精灵:https://www.ikjzd.com/w/532


    读取几种配置文件java中,常见几种配置文件有:.properties,.,.yml,spring项目中对这些类型的配置文件通常有现成可用的封装,下面用手动解析的方式来操作这些类型配置文件;首先idea创建项目:properties根目录下创建配置文件:application.properties,和测试类Test.javaapplication.properties配置文件中,设置几个基础配置项
    环球市场:https://www.ikjzd.com/w/1762
    去大理旅游的最佳时间是什么时候:http://www.30bags.com/a/418276.html
    去大理旅游的最佳时间是什么时候?:http://www.30bags.com/a/418298.html
    去大理自由行的注意事项:http://www.30bags.com/a/418463.html
    去大连旅游住哪里方便,大连旅游住宿攻略:http://www.30bags.com/a/433189.html
    翁熄粗大第二篇十四章 握住她的腰猛烈撞击哼闷:http://lady.shaoqun.com/a/247887.html
    同桌在我内裤里放跳动蛋 上课不准穿内裤方便我做:http://lady.shaoqun.com/a/247738.html
    口述实录:少妇实录:邻居用销魂的床技将我征服:http://www.30bags.com/m/a/249951.html
    2021暑假去哪里旅游好玩省钱 暑假旅游好玩又不贵的地方 :http://www.30bags.com/a/500676.html
    2021暑假去哪里旅游好玩又凉爽 暑假去这些地方玩风景美还凉快 :http://www.30bags.com/a/500677.html
    女性穿高跟鞋带来的欲望、性快感和后遗症:http://lady.shaoqun.com/a/420126.html
    女生的工具箱能酷到什么程度?——家用五金、木工、皮具库存大:http://lady.shaoqun.com/a/420127.html

没有评论:

发表评论