\quad
在项目中,常常使用配置文件,配置文件类别大都分为三种:xml、properties和yml
。接下来我们一一解析这三种文件在java中如何读取。
一、读取xml文件
\quad
我们可以借助dom4j
进行解析,先点击此处下载该jar包,将包导入工程中去。我们新建一个class.xml
文件,内容如下:
<class name="uestc">
<student>
<name>张三</name>
<age>12</age>
<gender>男</gender>
</student>
<student>
<name>李四</name>
<age>13</age>
<gender>男</gender>
</student>
<student>
<name>王五</name>
<age>14</age>
<gender>女</gender>
</student>
</class>
\quad 读取程序如下:
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception{
SAXReader reader = new SAXReader();
Document document = reader.read(Test.class.getClassLoader().getResourceAsStream("class.xml"));
Element root = document.getRootElement();
System.out.println(root.getName()); // class
System.out.println(root.attribute("name").getValue()); // name属性为uestc
List<Element> elements = root.elements();
for (Element element : elements) {
List<Element> stuElement = element.elements();
for (Element attr : stuElement) {
System.out.println(attr.getName() + ":" + attr.getData());
}
System.out.println("-------------------------");
}
}
}
\quad 结果如下:
class
uestc
name:张三
age:12
gender:男
-------------------------
name:李四
age:13
gender:男
-------------------------
name:王五
age:14
gender:女
-------------------------
二、读取properties
文件
\quad
properties
文件写入格式为key=value
这样的键值对,因此java.util
中给我们提供了读取properties
的类Properties
,可以直接得到一个写入键值对的HashMap
。
- 新建
class.properties
文件,内容如下:
host=localhost
port=3306
- 用法示例如下:
package properties;
import java.util.Properties;
public class Test {
public static void main(String[] args) throws Exception{
Properties properties = new Properties();
properties.load(Test.class.getClassLoader().getResourceAsStream("class.properties"));
System.out.println(properties.getProperty("host")); // localhost
System.out.println(properties.getProperty("port")); // 3306
properties.setProperty("username", "root"); // 设置键值对
System.out.println(properties); // {port=3306, host=localhost, username=root}
}
}