Java中使用ResourceBundle访问资源文件(properties文件)

【Isaac Sim】无头服务器远程桌面连接实战:Turbovnc配置与常见问题解决 本文详细介绍了在无头GPU服务器上通过Turbovnc远程桌面连接并运行NVIDIA Isaac Sim的实战教程。针对无图形界面服务器运行仿真软件的核心痛点,文章提供了从Turbovnc安装配置、SSH隧道建立,到以普通用户身份启动服务、解决GLXBadFBConfig等常见图形错误的完整方案,帮助开发者在云端高效部署机器人仿真环境。 阅读详情

在程序中经常需要使用常量,如果直接写在程序里,改变这些字符串时必须重新编译,例如编写数据库应用的时候数据库驱动程序、URL、用户名和口令等信息,可以使用资源文件(Properties文件),Java中提供了 ResourceBundle类来方便对属性文件的访问。本文介绍如何编写properties文件,如何访问,如何实现国际化。

1、properties文件的编写  

文件的后缀名为.properties。

文件中每一行的格式为:key=value

例如:

database.driver=com.mysql.jdbc.Drvier

database.url=jdbc:mysql://localhost:3306:test

database.user=root

database.pass=root

如果要是使用注释可以使用#,例如:

#如果采用其他数据库,需要修改这些信息

2、使用ResourceBundl解析资源文件

分两步:加载资源文件,然后获取某个特定信息。

2.1 加载资源文件

使用getBundle方法,参数是资源文件的

ResourceBundle resource = ResourceBundle.getBundle("messages");

参数为资源文件的名字,注意不用谢后缀名。

2.2获取资源文件中的信息

使用getString方法,例如要获取上面写的驱动程序,可以使用下面的代码:

String driverName = resource.getString("database.driver");

3、实例

3.1 资源文件

文件名:database.properties

文件内容:

database.driver=com.mysql.jdbc.Drvier
database.url=jdbc:mysql://localhost:3306:test
database.user=root
database.pass=root

3.2 读取资源文件的Java文件

package ch6;

import java.util.ResourceBundle;

public class ResourceBundleTest {

 public static void main(String[] args) {
  ResourceBundle resource = ResourceBundle.getBundle("ch6.database");
  String driverName = resource.getString("database.driver");
  String url = resource.getString("database.url");
  String user = resource.getString("database.user");
  String pass = resource.getString("database.pass");
  
  System.out.println("驱动程序:"+driverName);
  System.out.println("URL:"+driverName);
  System.out.println("用户名:"+driverName);
  System.out.println("口令:"+driverName);
 }
}

3.3 执行结果

驱动程序:com.mysql.jdbc.Drvier
URL:com.mysql.jdbc.Drvier
用户名:com.mysql.jdbc.Drvier
口令:com.mysql.jdbc.Drvier

4、使用Locale设置国家和地区支持国际化

有些应用需要同时支持多国语言,这时候如果为每种语言都开发一套应用将很费力,并且很难维护,好的方法是不用应用中的不用语言表示的信息单独存储在资源文件中,而把不变的逻辑内容保留在应用中,需要的时候从资源文件中加载可变的内容。国际化就是来解决这个问题的。把不同语言的信息写在不同的文件中。根据需要调用相应的文件。

4.1 编写支持多语言的资源文件。

默认文件:message.properties

login.user=Username

login.pass=Password

login.submit=Submit

简体中文:message_zh_CN.properties

login.user=用户名

login.pass=口令

login.submit=提交

注意:中文资源文件需要使用native2ascii处理,转换为Unicode编码。

4.2 调用不同的资源文件

使用ResourceBundle的getBundle方法,第一个参数值资源文件的名字,第二个参数是国家和地区。例如:

ResourceBundle.getBundle("ch6.message", Locale.SIMPLIFIED_CHINESE);

注意:Locale中定义了很多表示不同语言的常量。也可以直接指出地区和语言。

Locale bLocale = new Locale("en", "US");
Locale cLocale = new Locale("en", "GB");

第一个参数是语言代码,第二个参数是国家代码。

语言如下:

Language CodeDescription
deGerman
enEnglish
frFrench
jaJapanese
jwJavanese
koKorean
zhChinese

国家代码如下:

 

Country CodeDescription
CNChina
DEGermany
FRFrance
INIndia
USUnited States

结束!

李绪成 优快云 Blog:http://blog.youkuaiyun.com/javaeeteacher
优快云学生大本营:http://student.youkuaiyun.com/space.php?uid=124362
如果喜欢我的文章,就加我为好友:http://student.youkuaiyun.com/invite.php?u=124362&c=7be8ba2b6f3b6cc5

YOLO11改进 | 主干网络 | 添加Hyper-YOLO的MANet混合聚合网络 本文详细介绍了在YOLO11目标检测模型中替换C3k2模块为MANet的具体实现方法。文章首先讲解MANet模块的原理,然后分步骤指导如何在YOLO11中添加该模块,包括代码修改、文件配置和模型注册等关键环节。通过实验对比,改进后的YOLO11_MANet模型在保持8.8GFLOPs计算量的同时,参数数量达到3,820,272,网络层数增加到343层。文章还提供了完整的代码实现和网络结构图,并建议结合其他注意力机制或损失函数进一步提升检测效果。最后推荐了相关的深度学习专栏,包含更多YOLO系列改进方法。 阅读详情

相关推荐

别再为Word转PDF表格变形发愁了!Aspose.Words for Java 19.5 保姆级避坑指南

本文详细介绍了使用Aspose.Words for Java 19.5解决Word转PDF时表格变形问题的完整方案。从格式转换原理到实战技巧,涵盖固定表格宽度、禁用自动调整、强制文本换行等核心方法,并提供高级场景应对策略和性能优化建议,帮助开发者高效处理复杂文档转换需求。

weixin_28702105的博客 266

SpringBoot--thymeleaf使用和页面国际化

1、准备工作 新建springboot项目,命名为springboot-employee-management-system 选择需要的配置模块 创建controller层,写一个HelloController测试一下 @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "hello world"; } } 启

Jiao的博客 700

晶圆测试厂wafer map管理建议

按照Recipe设定bin定义 应有版本管理概念,一般使用最新版本做为活动版本即可 Bin明细中应包含 BinID、BinCode、BinName、BinType、BinColor、Description BinID可使用数字类型 BinCode可参照实际机台的Bin,用于匹配 有些公司也将BinID、BinCode理解为SBin和HBin 即 Software Bin & Hardware Bin 一般也将BinID对应到客户的Bin BinType

凯神做开发 1万+

ResourceBundle读取配置文件

ResourceBundle bundle = ResourceBundle.getBundle("config/**"); Integer.valueOf(bundle.getString("**").trim()); Boolean.valueOf(bundle.getString("**").trim());

hk_优快云的博客 880

粒子滤波在基于误差状态量的INS/GNSS组合导航中的使用技巧-On Particle Filter based Error-State INS/GNSS Intergrated Navigation

本文面向以15维惯导(INS)误差为状态量,3维位置误差为量测量的INS/GNSS组合导航系统,​在西工大严恭敏老师的开源工具箱中PF相关库函数基础上实现基于粒子滤波(PF)的惯导误差状态量的递推估计,设计了粒子重置环节并强调了其在本特定场景下的重要性。

I33D33I的博客 1742

新手小白 必须精进的 “ FLASH分区管理Code and Data ” !!!最强文章解析!!!

FLASH“代码区”和“数据区”不是每个项目都必须显式管理,但只要你的产品功能越来越丰富,对可靠性和扩展性要求提高,就一定要学会科学划分和使用。这也是嵌入式工程师进阶路上的必修课!

qq_75157958的博客 933

Java ResourceBundle 加载外部路径资源文件方式

ResourceBundle读取的文件是在classpath路径下,也就是src或者src目录下,而我们在项目中需要打包,打包后的properties文件在jar中,修改很不方便,我们需要把properties文件放在jar外随时可以修改。 1、一般情况下ResourceBundle读取文件方式默认的读取路径是classpath,配置文件名为resourceBundle.propertie...

一个标题 2187

免疫治疗新思路:用COMPASS算法挖掘单细胞数据中的代谢靶点(含差异分析技巧)

本文介绍了如何利用COMPASS算法从单细胞转录组数据中系统推断免疫细胞的代谢活性,为肿瘤免疫治疗提供新的靶点发现思路。文章详细阐述了COMPASS结合流平衡分析的核心原理,并提供了从差异分析到可成药性评估的完整转化路径,旨在帮助研究者精准定位代谢弱点,开发新型免疫代谢疗法。

weixin_29275257的博客 366

JAVA ResourceBundle 加载外部路径资源文件方式

ResourceBundle读取的文件是在classpath路径下,也就是src或者src目录下,而我们在项目中需要打包,打包后的properties文件在jar中,修改很不方便,我们需要把properties文件放在jar外随时可以修改。 1、一般情况下ResourceBundel读取文件方式默认的读取路径是classpath,配置文件名为resourceBundle.properties。在s

玉吢雕龍的博客 1万+

OSPF的7种状态,DR与BDR的基本概念,1、2、3、4、5、7类LSA解析,Stub、NSSA、Totally Stub、Totally NSSA的基本概念与配置

OSPF的7种状态,DR与BDR的基本概念,1、2、3、4、5、7类LSA解析,Stub、NSSA、Totally Stub、Totally NSSA的基本概念与配置

weixin_72194028的博客 3008

AUTOSAR进阶图解==>AUTOSAR_SWS_CANStateManager

AUTOSAR CAN状态管理器(CanSM)摘要 CanSM是AUTOSAR通信栈中的关键模块,负责管理CAN网络状态和模式转换。主要功能包括: 控制CAN控制器/收发器工作模式(STARTED/STOPPED,NORMAL/STANDBY) 处理三种网络状态(全通信、静默通信、无通信)之间的转换 监控和处理总线关闭(Bus-Off)事件 与ComM、CanIf、BswM等模块协同工作 CanSM通过状态机管理网络状态转换,支持可配置的总线关闭恢复策略。它为每个CAN网络维护独立的状态机,实现网络状态的精

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 5579

java resourcebundle_Java中使用ResourceBundle访问资源文件(properties文件) | 学步园

在程序中经常需要使用常量,假如直接写在程序里,改变这些字符串时必须重新编译,例如编写数据库应用的时候数据库驱动程序、URL、用户名和口令等信息,可以使用资源文件(Properties文件),Java中提供了ResourceBundle类来方便对属性文件的访问。本文先容如何编写properties文件,如何访问,如何实现国际化。1、properties文件的编写文件的后缀名为.properties。...

weixin_34094559的博客 370

让 ABAP 内表真正释放内存:从 CLEAR、FREE 到打破 Table Sharing 的实战技巧

ABAP内表内存管理的关键在于理解其运行时结构:DELETE操作仅逻辑删除行而不会释放内存,CLEAR或FREE才能真正回收内存。常见的误区包括误判空表状态和忽视内表共享机制。实际应用中,大表筛选后应采用VALUE表达式或逐行插入方式重建表体以释放内存。典型案例显示,正确处理内表内存可显著降低SAP Gateway和批处理程序的内存消耗,提升系统稳定性。开发时需结合调试工具观察内存状态,避免因共享机制导致无效回收。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 324

java使用ResourceBundle访问资源文件(.properties文件)

为了程序的国际化,在界面的字符串我们不能写死了,不然修改成本太大啦。这时我们可以将字符串写入到一个资源文件(.properties文件)里,然后在代码中直接引用该文件的东西。

Mr mao的博客 1117

Alcohol 120% 2.0.1.2033 完美安装破解

压缩包内有Alcohol 120% 2.0.1.2033的安装程序和注册机及激活方法,决对好用。

天线工程_hfssantenna_HFSS天线_同轴线馈电微带天线_

HFSS仿真的同轴线馈电天线频率忘了材料也忘了.反正改改肯定能用

【Java笔记(8)】解决ResourceBundle访问资源文件.properties,访问不到问题

解决 Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name jdbcconf.properties, locale zh_CN 目录不能有后缀名采用ResourceBundle不能文件不能有后缀名。 private String confPath = "jdbcconf"; ResourceBundle resourceBundle =Resour.

weixin_43493559的博客 459

燃料电池电源matlab仿真 分为PEMFC和SOFC的分布式发电

燃料电池电源matlab仿真 分为PEMFC和SOFC的分布式发电

ResourceBundle的使用

使用ResourceBundle访问本地资源         在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class,.config保存此类信息并不适合,这时我们需要ResourceBundle。    通过ResourceBundle,我们需要访问位于/WEB-INF/classes目录下的一个后缀名为properties的文本类型文

xiangliangzero的博客 722

瑞萨RH850F1L CAN通信驱动官方示例代码

瑞萨RH850F1L_sample RS-CAN通信 示例代码,can 驱动

java中死数据写入配置文件,java 读取和写入配置文件中的数据

1、读取配置文件中的数据,注意,此处读取的是部署的项目中的配置文件,而非项目本身的配置文件public String getProData(String key){String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();String rootPath = path.sub...

weixin_28949779的博客 620

java-资源加载总结

相对路径与绝对路径 绝对路径 就是真实的路径,是计算机中完整路径,必须准确,否则不能找到,起点是系统的根目录,也就是各个盘符。比如/(Linux系统中)或者C:(Windows系统中)。 相对路径 相对路径就是相对于某个基准目录的路径。 …/ 表示当前文件所在的目录的上一级目录 ./ 表示当前文件所在的目录(可以省略) / 表示当前站点的根目录(域名映射的硬盘目录)。比如:在Servlet中,"/“代表Web应用的根目录,在Java项目中”/"也代表项目根目录。 ...

jiqiren1994的博客 318

软件三班-14

【代码】软件三班-14。

2401_83479191的博客 176

固定文本的国际化

固定文本的国际化 今天老师给我们讲解了软件的国际化,那么什么是软件的国际化呢?下面我们先来说一下国际话开发概述来了解一下软件的国际化。 软件的国际化:软件开发时,要使他能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访问者阅读习惯的页面或数据。(国际化又称i18n:internationalization) 软件实现国际化,需具备那些特征呢? 1.

雪狼小记 735

Java 资源文件读取方式汇总:Properties、ResourceBundle、ClassLoader、Resource、Hutool Setting、...

2、比如全世界都在用 weChat(微信),那么就需要有一个功能,对日本人显示的是日本文,对韩国人显示的是韩文,英国人显示英文,中国人显示中文,而 ResourceBundle 资源绑定就是解决这个问题,通过绑定不同的资源文件(即语言)来达到不同语言的显示。3、Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法,但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项,推荐使用 setProperty 方法。

蚩尤后裔-汪茂雄 4850

Java语言对properties资源文件的处理——ResourceBundle 类的使用

开始之前,我们先解释一下什么是properties类型的资源文件。在Java语言中,使用一种以.properties为扩展名的文本文件作为资源文件,该类型的文件的内容格式为类似: #注释语句some_key=some_value 形式。以#开头的行作为注释行,ResourceBundle类处理时会加以忽略;其余的行可以以 key名=value值 的形式加以记述。 J

freesky_lwj的专栏 1065

properties文件及ResourceBundle读取properties文件分析

一、properties文件介绍  java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是 "键=值"的格式,在properties文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。 properties文件示例: # 以下为服务器、数据库信息 db

honghailiang的专栏 4804
上一篇: Java中使用ResourceBundle访问资源文件(properties文件)
下一篇: Java变长参数
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值