Properties转换成Map

Properties转换成Map

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class Test {

	public static void main(String args[]){
		Properties properties = new Properties();  
		 
        properties.setProperty("StrictHostKeyChecking", "no");
        properties.setProperty("app.version", "1.0");  
        
        Map<String, String> map = new HashMap<String, String>((Map) properties);  

        Set propertySet = map.entrySet();
        for (Object o : propertySet) {
            Map.Entry entry = (Map.Entry) o;
            System.out.printf("%s = %s%n", entry.getKey(), entry.getValue());
        }
	}
}


其实还有更简单的办法,因为Properties继承了HashTable实现了Map,所以Properties也有entrySet()方法,不需要转成Map再调用Map的entrySet()方法。

在Java中,我们可以使用java.util.Properties来读取.properties文件,并将其换为Map对象。 首先,我们需要创建一个Properties对象,并通过load()方法加载.properties文件。然后,我们可以通过getProperty(key)方法获取每个键对应的值,并将其存储在Map对象中。 下面是一个示例代码: ```java import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; public class ReadPropertiesToMapExample { public static void main(String[] args) { // 创建一个Map对象,用于存储.properties文件的键值对 Map<String, String> propertiesMap = new HashMap<>(); // 读取.properties文件并将其换为Map try (InputStream input = new FileInputStream("example.properties")) { Properties properties = new Properties(); properties.load(input); // 将.properties文件中的键值对存储在Map对象中 for (String key : properties.stringPropertyNames()) { String value = properties.getProperty(key); propertiesMap.put(key, value); } } catch (IOException e) { e.printStackTrace(); } // 输出Map对象的内容 for (Map.Entry<String, String> entry : propertiesMap.entrySet()) { System.out.println(entry.getKey() + "=" + entry.getValue()); } } } ``` 以上代码中,我们通过创建一个Map对象propertiesMap来存储.properties文件的键值对。然后,我们使用Properties类的load()方法来加载.properties文件。接下来,我们使用getProperty(key)方法获取每个键对应的值,并将其存储在propertiesMap中。最后,我们通过遍历Map对象来输出其内容。 需要注意的是,示例代码中的"example.properties"为需要读取的.properties文件路径,请根据实际情况进行替换。 希望以上回答能够解决你的问题,如果还有其他疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值