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());
        }
相关推荐
蒙娜丽宁6 分钟前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev8 分钟前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
为将者,自当识天晓地。10 分钟前
c++多线程
java·开发语言
daqinzl18 分钟前
java获取机器ip、mac
java·mac·ip
好喜欢吃红柚子21 分钟前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python26 分钟前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
激流丶34 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
神奇夜光杯35 分钟前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue37 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧39 分钟前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv