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());
        }
相关推荐
花果山总钻风3 分钟前
SQLAlchemy 中的 func 函数使用指南
python
小猫咪怎么会有坏心思呢6 分钟前
华为OD机试-最短木板长度-二分法(A卷,100分)
java·开发语言·华为od
知识中的海王17 分钟前
Python html 库用法详解
开发语言·python
面朝大海,春不暖,花不开33 分钟前
使用 Python 正则表达式实现文本替换与电话号码规范化
python·mysql·正则表达式
淘小白_TXB219634 分钟前
Python网页自动化Selenium中文文档
python·selenium·自动化·网页自动化
hymuuuu1 小时前
【最新案例】智能物料称重柜/生鲜称重售卖柜系统, 共享自助管理系统, 物联网应用定制开发
java
Clair-Sean1 小时前
【JavaSE】多线程基础学习笔记
笔记·python·学习
编程绿豆侠1 小时前
力扣HOT100之栈:394. 字符串解码
java·算法·leetcode
hstar95271 小时前
三十四、面向对象底层逻辑-SpringMVC九大组件之FlashMapManager接口设计哲学
java·spring·设计模式·架构
yuren_xia1 小时前
Spring MVC执行流程简介
java·spring·mvc