Java如何将xml文件转换为properties文件

Java 如何从 XML 文件创建 .properties文件
Java 如何 从 XML 文件读取属性键值?

欢迎来到之路教程(on itroad-com)

XML 转换为 Properties 示例:

要将 XML 文件转换为属性文件,最好的方法是使用 java.util.Properties类。

  • 使用 Properties.loadFromXML()方法将 XML 文件加载到 java.util.Properties类对象中。
  • 使用Properties.store()方法将内容写入属性。
package com.onitroad.demo;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.InvalidPropertiesFormatException;
import java.util.Properties;
public class XMLToProperties 
{
	public static void main(String[] args) throws InvalidPropertiesFormatException, IOException 
	{
		String outPropertiesFile = "application.properties";
		String inXmlFile = "applicationProperties.xml";
		InputStream inStream = new FileInputStream(inXmlFile);			//Input XML File
		OutputStream outStream = new FileOutputStream(outPropertiesFile);	//Output properties File

		Properties props = new Properties();

		//Load XML file
		props.loadFromXML(inStream);

		//Store to properties file
		props.store(outStream, "Converted from applicationProperties.xml");

		//Use properties in code
		System.out.println(props.get("input.dir"));			//Prints 'c:/temp/input'
	}
}

输入的 XML 文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>application.properties</comment>
	<entry key="input.dir">c:/temp/input</entry>
	<entry key="spring.batch.job.enabled">false</entry>
	<entry key="spring.main.banner-mode">off</entry>
</properties>

对应的 Properties 的文件

#Converted from applicationProperties.xml
#Mon Jan 23 18:15:00 IST 2018
spring.batch.job.enabled=false
input.dir=c\:/temp/input
spring.main.banner-mode=off
日期:2020-09-17 00:10:13 来源:oir作者:oir