Java如何将ResourceBundle转换为Map?
以下代码片段将资源束转换为映射对象,即键-值映射。它将从名为的文件中读取Messages_en_GB.properties对应于的文件Locale.UK。例如,文件包含以下字符串。该文件应放在resources目录下。
welcome.message = Hello World!
package org.nhooo.example.util; import java.util.*; public class ResourceBundleToMap { public static void main(String[] args) { //从类路径加载资源包Messages_en_GB.properties。 ResourceBundle resource = ResourceBundle.getBundle("Messages", Locale.UK); //调用convertResourceBundleTopMap方法转换资源 //捆绑成一个Map对象。 Map<String, String> map = convertResourceBundleToMap(resource); //打印映射的全部内容。 for (String key : map.keySet()) { String value = map.get(key); System.out.println(key + " = " + value); } } /** * Convert ResourceBundle into a Map object. * * @param resource a resource bundle to convert. * @return Map a map version of the resource bundle. */ private static Map<String, String> convertResourceBundleToMap(ResourceBundle resource) { Map<String, String> map = new HashMap<>(); Enumeration<String> keys = resource.getKeys(); while (keys.hasMoreElements()) { String key = keys.nextElement(); map.put(key, resource.getString(key)); } return map; } }