如何将properties文件中的键值对存储到Map结构中
读取properties配置文件存入哈希表(HashMap)的实现方法
完全可以实现,不同编程语言都有成熟的实现方案,下面给出两种主流开发场景的示例,其他语言可以参考通用逻辑自行实现:
Java 实现
Java标准库自带java.util.Properties类,本身就支持properties文件的解析,且该类继承自Map体系的Hashtable,可以很方便转成HashMap:
import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.util.Properties; public class PropertiesToHashMap { public static void main(String[] args) throws IOException { Properties properties = new Properties(); // 加载指定路径的properties文件,会自动跳过空行和#开头的注释 properties.load(new FileInputStream("替换为你的配置文件实际路径")); HashMap<String, String> configMap = new HashMap<>(); // 遍历所有属性存入HashMap for (String key : properties.stringPropertyNames()) { configMap.put(key, properties.getProperty(key)); } } }
如果配置文件包含中文,需要使用load(InputStreamReader)方法指定UTF-8编码,避免出现乱码
Python 实现
Python的字典(dict)本身就是哈希表实现,功能和HashMap一致,不需要引入第三方依赖即可实现:
def load_properties_to_map(file_path: str) -> dict: config_map = {} with open(file_path, 'r', encoding='utf-8') as f: for line in f: line = line.strip() # 跳过空行和#开头的注释行 if not line or line.startswith('#'): continue # 仅拆分第一个等号,避免value中包含等号时拆分错误 key, value = line.split('=', 1) config_map[key.strip()] = value.strip() return config_map # 调用示例 my_config = load_properties_to_map("替换为你的配置文件实际路径")
通用实现逻辑(所有语言通用)
如果使用其他编程语言,按照以下逻辑实现即可:
- 逐行读取配置文件内容
- 过滤掉空行和
#开头的注释行 - 对每一行仅拆分第一个出现的
=,前后去除空格后分别作为键和值 - 将键值对存入哈希表即可
内容的提问来源于stack exchange,提问作者Sudhanshu
相关产品推荐
相关产品推荐

