Properties简单解析实现及其工具化实现

it2022-05-05  112

properties文件

bookName = The Kite Runner price = 25.6 author = Khaled Hosseini

简单实现properties解析

package com.mec.parser.test; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.Properties; public class TestForProperties { public static void main(String[] args) { Properties properties = new Properties(); InputStream is = Class.class.getResourceAsStream("/test.properties"); try { properties.load(is); Enumeration<Object> keys = properties.keys(); // 获取properties文件中的键集合 // Enumeration是一个泛型类,里面存储的是键值对数据集合 while(keys.hasMoreElements()) { String key = (String) keys.nextElement(); String value = properties.getProperty(key); System.out.println(key + " " + value); } } catch (IOException e) { e.printStackTrace(); } } }

运行结果

author: Khaled Hosseini price: 25.6 bookName: The Kite Runner

工具代码

package com.mec.util.parser; 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 Set<String> keySet() { return propertyMap.keySet(); } public static String value(String key) { return propertyMap.get(key); } }

使用

工具测试代码

package com.mec.util.parser; public class TestForProperties { public static void main(String[] args) { PropertiesParser.loadProperties("/test.properties"); String bookName = String.valueOf(PropertiesParser.value("bookName")); System.out.println("书名:" + bookName); String authorName = String.valueOf(PropertiesParser.value("author")); System.out.println("作者:" + authorName); double price = Double.valueOf(PropertiesParser.value("price")); System.out.println("价格:" + price); } }

运行结果

书名:The Kite Runner 作者:Khaled Hosseini 价格:25.6

最新回复(0)