怎么把properties转换成map

怎么把properties转换成map,第1张

今天做项目过程中,遇到茄闷了个 Properties 转换卜纳蔽成Map 的地方

第一时间想到的肯定有以下:

1. 迭代出来 再 put 到 map 中去

2. commons 是否有工具类

可是 由于 Properties 实现了Map 接口, 所以有最最简单的 ,强制转换

package com.feilong.example.util

import java.util.Properties

import java.util.Map

import java.util.HashMap

import java.util.Set

public class PropertiesToMap {

public static void main(String[] args) {

Properties properties = new Properties()

properties.setProperty("StrictHostKeyChecking", "no")

properties.setProperty("app.version", "1.0")

// Create a new HashMap and pass an instance of Properties. Properties

// is an implementation of a Map which keys and values stored as in a string.

Map<String, String>型州 map = new HashMap<String, String>((Map) properties)

// Get the entry set of the Map and print it out.

Set propertySet = map.entrySet()

for (Object o : propertySet) {

Map.Entry entry = (Map.Entry) o

System.out.printf("%s = %s%n", entry.getKey(), entry.getValue())

}

}

}

type.properties

left=factorymethod.LeftHair

right=factorymethod.RightHair

in=factorymethod.InHair

import java.io.InputStream

import java.util.Enumeration

import java.util.HashMap

import java.util.Map

import java.util.Properties

//读取properties内容并转换成map形式

public class PropertiesReader {

public Map<薯岩String, String>数桐御 getProperties(){

Properties props = new Properties()

Map<String, String>map=new HashMap<String, String>()

try {

InputStream in= getClass().getResourceAsStream("Type.properties")

props.load(in)

Enumeration en=props.propertyNames()

while (en.hasMoreElements()) {

String key=(String) en.nextElement()

String property=props.getProperty(key)

map.put(key, property)

System.out.println(key + "."+property)

}

} catch (Exception e) {

// TODO: handle exception

}

return map

}

}

public HairInterface getHairByClassKey(String key){

try {

Map<String, String>map=new PropertiesReader().//

getProperties()

HairInterface hair= (HairInterface) //轮亩

Class.forName(map.get(key)).newInstance()

return hair

} catch (InstantiationException e) {

e.printStackTrace()

}catch (IllegalAccessException e) {

e.printStackTrace()

}catch (ClassNotFoundException e) {

e.printStackTrace()

}

return null

}

java.uti.properties

项目主要用它来读取配置文件,可以读取竖行以 .properties 结尾的文件或者 xml 文件,主要用 load 、loadFromXML 方法将配余旅哗镇薯置文件映射为 map 文件。用 list 方法可将内容输出,既可以输出到控制台也可以输出到文件中。

例1:读取以 .properties 结尾的文件

properties 文件内容如下:

输出结果如下:

例2:读取 xml 文件

xml 文件内容:

输出结果:

例3:将内存写入 properties 配置文件

输出结果:

例4:将内存写入 xml 配置文件

输出结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12292317.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存