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());
        }
相关推荐
Yan.love9 分钟前
开发场景中Java 集合的最佳选择
java·数据结构·链表
椰椰椰耶12 分钟前
【文档搜索引擎】搜索模块的完整实现
java·搜索引擎
大G哥12 分钟前
java提高正则处理效率
java·开发语言
ROBOT玲玉16 分钟前
Milvus 中,FieldSchema 的 dim 参数和索引参数中的 “nlist“ 的区别
python·机器学习·numpy
智慧老师42 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
lxyzcm44 分钟前
C++23新特性解析:[[assume]]属性
java·c++·spring boot·c++23
Kai HVZ1 小时前
python爬虫----爬取视频实战
爬虫·python·音视频
yngsqq1 小时前
一键打断线(根据相交点打断)——CAD c# 二次开发
windows·microsoft·c#
古希腊掌管学习的神1 小时前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
m0_748244831 小时前
StarRocks 排查单副本表
大数据·数据库·python