java - 读取配置文件

文章目录

  • [1. properties](#1. properties)
  • [2. XML](#2. XML)
    • [(1) dom4j](#(1) dom4j)
    • [(2) XPath](#(2) XPath)

1. properties

java 复制代码
	// 创建properties对象用于读取properties文件
	Properties properties = new Properties();
        properties.load(new FileReader("src/main/resources/test.properties"));
        String name = properties.getProperty("name");
        String age = properties.getProperty("age");
        System.out.println(name);
        System.out.println(age);

2. XML

(1) dom4j

maven坐标

xml 复制代码
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.1</version>
    </dependency>
java 复制代码
		// 获取解析器对象
        SAXReader xmlReader = new SAXReader();
		// 获取xml文件
        Document student = xmlReader.read(new File("student.xml"));

        Element root = student.getRootElement();// 获取根标签
        List<Element> elements = root.elements();// 获取根标签中的所有标签
		// 获取第一个元素的name标签的值
        String name = elements.get(0).element("name").getText();
        // 获取第一个元素的age标签的值
        String age = elements.get(0).element("age").getText();
        System.out.println(name);
        System.out.println(age);

(2) XPath

使用路径表达式进行解析

xml 复制代码
// 获取解析器对象
        SAXReader xmlReader = new SAXReader();

        Document student = xmlReader.read(new File("src\\main\\resources\\student.xml"));
        // 获取一个
        Node node = student.selectSingleNode("/students/student/name");
        System.out.println(node.getText());
        //获取多个
        List<Element> list = student.selectNodes("/students/student/*");
        for (Element element : list) {
            System.out.println(element.getText());
        }
相关推荐
C+++Python16 分钟前
C++ 进阶学习完整指南
java·c++·学习
zhangjw3435 分钟前
第11篇:Java Map集合详解,HashMap底层原理、哈希冲突、JDK1.8优化、遍历方式彻底吃透
java·开发语言·哈希算法
还得是你大哥41 分钟前
Java互联网医院管理系统源码SpringBoot
java·spring boot·vue
金融大 k1 小时前
Python 全球指数监控面板:TickDB + REST + WebSocket 完整方案
python·websocket
啊哈哈121381 小时前
系统设计复盘:为什么 Agent 的 ReAct 循环必须内嵌确定性保护层——以 FitMind 健康助手的路由与步骤控制为例
人工智能·python·react
阿维的博客日记1 小时前
怎么用ThreadLocal解决用户的登录上下文
java·juc
Dicky-_-zhang2 小时前
容器编排实战:Docker与Kubernetes对比选型与落地实践
java·jvm
benpaodeDD2 小时前
视频10,11,12,13——java程序的加载与执行,安装jdk
java·开发语言
一颗牙牙2 小时前
安装mmcv
开发语言·python·深度学习
数字化顾问2 小时前
(122页PPT)数字化架构的演进和治理(附下载方式)
java·运维·架构