在本人之前的博文《XML 解析》中曾经讲解过XML文件,但是,XML 文件存储的时候要用“标签”来修饰代码,有时候用起来比较麻烦,那么,本人在这篇博文中将讲解一种只存储“键值对”的文件——Properties 文件
Properties 解析
实现过程:
Properties 文件的内容,是纯“键值对”文件,现在,本人通过给出一个例子来为大家介绍这种类型的文件的存储以及读取:
首先,本人给出一个人的信息:
name= the fan
extname= of me
age= 18
sex= false
现在,本人给出一个可以读取上面本人给出Properties 文件的类,并直接运行,来看一下运行结果:
之前本人在《XML解析》这篇博文中曾经做出了一个能够方便我们解析XML文件的类,那么,现在,本人也同样地,给出一个能够解析Properties 文件的类:
package com.mec.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class PropertiesParser {
private static final Map<String, String> propertyMap = new HashMap<>();
public PropertiesParser() {
}
public static void loadProperties(String path) {
InputStream is = PropertiesParser.class.getResourceAsStream(path);
loadProperties(is);
}
public static void loadProperties(InputStream is) {
Properties properties = new Properties();
try {
properties.load(is);
Set<Object> keySet = properties.keySet();
Iterator<Object> iterator = keySet.iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
String value = properties.getProperty(key);
propertyMap.put(key, value);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static String value(String key) {
return propertyMap.get(key);
}
}
那么,现在,本人给出一个调用我们上面给出的“工具类”的类,来帮助我们解析之前的Properties 文件:
package com.mec.parse_propertise.test;
public class Test {
public static void main(String[] args) {
PropertiesParser.loadProperties("/Myfirst.properties");
boolean sex = Boolean.valueOf(PropertiesParser.value("sex"));
System.out.println(sex);
int age =Integer.valueOf(PropertiesParser.value("age"));
System.out.println(age);
}
}
那我们再来看一下运行结果:
因为这种文件相对简单,而且许多解析起来的步骤和XML 文件的类似,所以本人并不会花费大量笔墨来描述。
完整代码:
package edu.youzg.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class PropertiesParser {
private static final Map<String, String> propertyMap = new HashMap<>();
public PropertiesParser() {
}
public static void loadProperties(String path) {
InputStream is = PropertiesParser.class.getResourceAsStream(path);
loadProperties(is);
}
public static void loadProperties(InputStream is) {
Properties properties = new Properties();
try {
properties.load(is);
Set<Object> keySet = properties.keySet();
Iterator<Object> iterator = keySet.iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
String value = properties.getProperty(key);
propertyMap.put(key, value);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static String value(String key) {
return propertyMap.get(key);
}
}
那么,关于Properties 文件的全部基本内容本人就讲解完了。
若对这篇博文有任何疑问或者意见以及建议,请在下方评论区提出,本人将尽早予以讲解以及答复,喜欢的同学请留下你们的赞,谢谢!!!