Properties 解析

在本人之前的博文《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 文件的全部基本内容本人就讲解完了。
若对这篇博文有任何疑问或者意见以及建议,请在下方评论区提出,本人将尽早予以讲解以及答复,喜欢的同学请留下你们的赞,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值