Java中的几种读取properties配置文件的方式
发布时间 - 2026-01-11 01:06:13 点击率:次相信对于一名JAVA开发者开说properties文件一定再熟悉不过了,比如一下配置:

- config.properties会经常存放一些系统常量,版本号,路径之类的
- database.properties存放数据库的连接参数
- log4j.properties 日志的一些基本配置
- redis.properties 缓存数据库的一些配置
当然前缀是根据用能自行定义的,一般来说文件的内容的格式是“键=值”的格式,文本注释信息可以用”#”来注释,下面来说说开发中如何读写properties配置文件。
Java读取Properties文件
Properties类读取
Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。
//方式一
InputStream in = new BufferedInputStream(new FileInputStream("文件路径名"));
Properties p = new Properties();
p.load(in);
System.out.println(p.getProperty("version"));
//方式二
InputStream ins = PropertiesUtil.class.getResourceAsStream("文件路径名");
Properties ps = new Properties();
ps.load(ins);
System.out.println(ps.getProperty("version"));
//方式三
InputStream inss = PropertiesUtil.class.getClassLoader().getResourceAsStream("文件名");
Properties pss = new Properties();
pss.load(inss);
System.out.println(pss.getProperty("version"));
//方式四
InputStream insss = ClassLoader.getSystemResourceAsStream("文件名");
Properties psss = new Properties();
psss.load(insss);
System.out.println(pss.getProperty("version"));
ResourceBundle读取方式
这个类提供软件国际化的捷径。通过此类,可以使您所编写的程序可以:
- 轻松地本地化或翻译成不同的语言
- 一次处理多个语言环境
- 以后可以轻松地进行修改,支持更多的语言环境
说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。
使用这个类,要注意的一点是,这个properties文件的名字是有规范的:一般的命名规范是: 自定义名语言代码国别代码.properties,如果是默认的,直接写为:自定义名.properties
比如:
- myres_en_US.properties
- myres_zh_CN.properties
- myres.properties
//方式五
ResourceBundle rb = ResourceBundle.getBundle("文件名前缀", Locale.getDefault());
System.out.println(rb.getObject("version"));
//方式六
InputStream is = new BufferedInputStream(new FileInputStream("文件名前缀"));
ResourceBundle rbs = new PropertyResourceBundle(is);
System.out.println(rbs.getObject("version"));
ResourceBundle读取方式,相对来说比较方便,但是仔细查看源码,ResourceBundle读取一次就会被系统缓存。
对于在生产环境中,如果我们要动态修改properties的一些参数,如果使用ResourceBundle读取方式就必须要重启服务器了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java
# properties读取
# java中读取properties
# properties
# 配置
# Java读写.properties文件解决中文乱码问题
# java读取properties配置文件的方法
# Java读取properties配置文件的8种方式汇总
# Java读取properties配置文件时
# 出现中文乱码的解决方法
# Java遍历Properties所有元素的方法实例
# java获取properties属性文件示例
# Java读取.properties配置文件方法示例
# Java中Properties的使用详解
# Java中Properties类和properties文件示例详解
# 自定义
# 都是
# 就会
# 一名
# 过了
# 是有
# 多个
# 可以用
# 要注意
# 此类
# 重启
# 使您
# 使用这个
# 配置文件
# 大家多多
# 键值
# 基本配置
# 翻译成
# 实现了
# 简单点
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在橙子建站中快速调整背景颜色?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
如何选择PHP开源工具快速搭建网站?
如何在万网自助建站平台快速创建网站?
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
使用Dockerfile构建java web环境
iOS正则表达式验证手机号、邮箱、身份证号等
如何在腾讯云服务器快速搭建个人网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
JavaScript如何实现倒计时_时间函数如何精确控制
如何在Tomcat中配置并部署网站项目?
浅谈javascript alert和confirm的美化
香港服务器选型指南:免备案配置与高效建站方案解析
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
如何在阿里云香港服务器快速搭建网站?
如何确认建站备案号应放置的具体位置?
如何利用DOS批处理实现定时关机操作详解
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Firefox Developer Edition开发者版本入口
javascript中闭包概念与用法深入理解
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
如何快速生成专业多端适配建站电话?
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
Python文件流缓冲机制_IO性能解析【教程】
如何续费美橙建站之星域名及服务?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Android仿QQ列表左滑删除操作
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
高端建站三要素:定制模板、企业官网与响应式设计优化
php 三元运算符实例详细介绍
如何用免费手机建站系统零基础打造专业网站?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
如何在 Pandas 中基于一列条件计算另一列的分组均值
python中快速进行多个字符替换的方法小结
Laravel如何记录自定义日志?(Log频道配置)
网站优化排名时,需要考虑哪些问题呢?
Laravel如何优化应用性能?(缓存和优化命令)
HTML 中如何正确使用模板变量为元素的 name 属性赋值
网站制作软件免费下载安装,有哪些免费下载的软件网站?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Laravel如何使用Service Container和依赖注入?(代码示例)
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
如何做网站制作流程,*游戏网站怎么搭建?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】

