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

Camunda流程引擎 Modeler (二) Camunda Modeler是Camunda官方提供的建模器: 独立安装的建模器([windows、linux、mac] 阅读详情

 

在程序中经常需要使用常量,如果直接写在程序里,改变这些字符串时必须重新编译,例如编写数据库应用的时候数据库驱动程序、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

optee系统启动流程 BL2 - Trusted Boot Firmware,一般为Trusted Bootloader, 也称第一个启动镜像。BL31 - EL3 Runtime Firmware,负责双系统切换,运行在secure monitor 或ATF中。BL33 - Non-Trusted Firmware,一般为uboot、linux kernel。BL32 - Secure-EL1 Payload, 一般为TEE OS Image。BL1 - Trusted ROM,一般为BootRom。 阅读详情

相关推荐

ERA5气象数据下载与解压全攻略:Python脚本一键搞定(附错误处理技巧)

本文提供了一套完整的ERA5气象数据自动化处理方案,涵盖从CDS API配置、智能批量下载到高效解压与数据验证的全流程。重点介绍了如何通过Python脚本实现一键式数据下载与批量解压,并分享了实用的错误处理技巧与性能优化策略,帮助科研人员高效获取和处理大规模气象数据。

k8l9m0n的博客 337

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

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

Jiao的博客 700

Windows下用Docker快速搭建SearXNG私有搜索引擎(附Dify集成配置)

本文详细介绍了在Windows环境下使用Docker快速搭建SearXNG私有搜索引擎的完整流程,包括环境准备、容器化部署、安全配置优化以及与Dify平台的深度集成方法。通过分步指导和实用配置示例,帮助开发者构建兼具隐私保护和AI增强能力的本地化搜索解决方案,特别适合需要定制化搜索服务的应用场景。

weixin_30300225的博客 336

ResourceBundle读取配置文件

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

hk_优快云的博客 880

思科9117AP从零配置EWC模式实战:Wi-Fi6网络搭建避坑指南

本文详细介绍了思科9117AP在Wi-Fi6网络环境下配置EWC模式的实战指南,涵盖镜像准备、网络环境配置、模式转换步骤及高级运维技巧。通过EWC模式,企业可实现控制器与AP的一体化部署,显著降低成本和简化运维,特别适合中小企业Wi-Fi6网络搭建。

weixin_28318011的博客 333

手机热点+Advanced IP Scanner:5分钟搞定树莓派无屏SSH连接(附详细配置截图)

本文详细介绍如何利用手机热点和Advanced IP Scanner工具快速实现树莓派的无屏SSH连接。通过简单的WiFi配置和IP扫描,5分钟内即可完成连接,特别适合外出调试或空间有限的工作环境。文章包含详细步骤、配置截图和常见问题解决方案,帮助开发者高效管理树莓派设备。

ik678901234的博客 952

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

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

一个标题 2187

实测对比:DJI O3、Walksnail Avatar、HDZero三大高清图传,谁才是低延迟王者?

本文对DJI O3、Walksnail Avatar V2和HDZero三大高清图传系统进行了实测对比,重点分析其在FPV飞行中的低延迟表现。通过专业测试环境和量化数据,揭示HDZero在原生低延迟架构上的优势,DJI O3在画质与延迟间的平衡,以及Walksnail的动态码率调整特点,为不同场景下的选购提供决策依据。

weixin_30756499的博客 446

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

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

玉吢雕龍的博客 1万+

避坑指南:微信小程序蓝牙广播在iOS上的那些‘坑’(附serviceUuids传值解决方案)

本文深入解析微信小程序蓝牙广播在iOS平台上的开发难点,特别是`serviceUuids`传值解决方案。通过对比iOS与安卓的蓝牙协议实现差异,提供实战编码策略和硬件端配合方案,帮助开发者有效规避兼容性问题,提升蓝牙外围设备开发效率。

weixin_30316097的博客 423

【Unity】NGUI下载与导入

Unity3D插件NGUI的下载和导入。

Get your hands dirty 3万+

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

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

Mr mao的博客 1117

MATLAB 与 STK 互联的两种连接方式详解

批量仿真推荐使用方法一;交互分析推荐使用方法二。可以根据具体任务灵活切换,也可以同时使用两种方式,提升建模与仿真的效率。

weixin_52370774的博客 1566

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

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

weixin_34094559的博客 370

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ResourceBundle的使用

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

xiangliangzero的博客 722

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

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

使用ResourceBundle加载properties文件

使用ResourceBundle加载properties文件@(JAVA)[java]1、ResourceBundle介绍说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。使用这个类,要注意的一点是,这个properties文件的

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值