Properties类用于Java中读写键值对配置文件,继承自Hashtable,仅支持字符串类型。通过load()或loadFromXML()方法从类路径加载.properties文件,需将文件置于src/main/resources目录;使用store()或storeToXML()可将配置写回文件,默认以ISO-8859-1编码保存,中文需指定UTF-8编码。建议用try-with-resources管理流,避免资源泄漏,敏感信息不宜明文存储。该类适用于中小项目基础配置管理。

Java中的Properties类是处理配置文件的常用工具,主要用于读取和写入键值对形式的配置信息。它继承自Hashtable,但专用于字符串类型的键和值。通过简单的API,可以方便地加载.properties文件内容到内存,也可以将内存中的配置保存回文件。
加载配置文件
使用Properties类加载配置文件通常通过load()或loadFromXML()方法实现。常见的是从类路径或文件系统中读取文本格式的.properties文件。
示例:从类路径加载 properties 文件
Properties props = new Properties();try (InputStream input = getClass().getClassLoader().getResourceAsStream("config.properties")) { if (input == null) { System.out.println("无法找到配置文件"); return; } props.load(input); // 加载配置} catch (IOException ex) { ex.printStackTrace();}// 获取配置项String dbUrl = props.getProperty("database.url");String user = props.getProperty("database.user");
注意:config.properties需放在src/main/resources(Maven项目)目录下,才能被正确加载。
立即学习“Java免费学习笔记(深入)”;
听脑AI
听脑AI语音,一款专注于音视频内容的工作学习助手,为用户提供便捷的音视频内容记录、整理与分析功能。
745 查看详情
保存配置到文件
修改或创建配置后,可通过store()或storeToXML()方法将内容写入文件。
示例:保存配置到文件
Properties props = new Properties();props.setProperty("database.url", "jdbc:mysql://localhost:3306/mydb");props.setProperty("database.user", "root");props.setProperty("database.password", "secret");try (OutputStream output = new FileOutputStream("config.properties")) { props.store(output, "数据库配置文件"); // 写入文件,支持中文注释} catch (IOException e) { e.printStackTrace();}
生成的文件会包含时间戳和提供的注释,键值以明文存储,适合非敏感配置。
使用建议与注意事项
在实际使用中,有几个关键点需要注意:
确保配置文件路径正确,推荐使用类路径资源方式加载,提高可移植性 始终使用 try-with-resources 管理流,避免资源泄漏 敏感信息如密码不建议明文存储在 .properties 文件中 中文值或注释在保存时默认使用 ISO-8859-1 编码,若需 UTF-8 可使用 store(new OutputStreamWriter(output, StandardCharsets.UTF_8), comment) XML 格式支持更好编码管理,可用 loadFromXML 和 storeToXML 替代文本格式基本上就这些。Properties 类简单实用,适合中小规模项目的基础配置管理。
以上就是Java Properties类如何加载和保存配置文件的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/736542.html
微信扫一扫
支付宝扫一扫