ResourceBundle 用于解释资源文件。...新建一个 .properties文件 这里为:AccessMessages.properties 例 error= 错误 warn= 警告 放入工程下的 en_US,目录结构如图 2.建立绑定关系 [ResourceBundle...(“AccessMessages”)] private static var rb : ResourceBundle; 3.设置 -source-path=locale\{locale} 设置资源文件为...调用 resourceBundle.getString( “error”) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157955.html原文链接:https
ResourceBundle 的每个相关的子类包含同样的项目,但是项目已经为那个 ResourceBundle 子类描述的语言环境所翻译。...当您的程序需要特定于语言环境的对象时,它使用 getBundle 方法装入 ResourceBundle 类: ResourceBundle myResources = ResourceBundle.getBundle...getBundle 使用这两个参数来构造 ResourceBundle 子类的名字,它应按下面的方法装入。...setParent(ResourceBundle) 设置该束的父类束。...构造子 ResourceBundle public ResourceBundle() 方法 getString public final String getString(String
ResourceBundle简介 ResourceBundle没有继承什么类,是一个单个的抽象类,该类可以说是国际化版的Properties,简单说就是可以根据本地化或语言的不同读取不同的配置文件,但要注意的一点是使用...ResourceBundle常用方法 4.1 getBundle方法 ResourceBundle提供了多个重载的静态getBundle方法,用于获取资源文件,这里我们不多介绍,后续看实例即可: public...static final ResourceBundle getBundle(String baseName) public static final ResourceBundle getBundle(...resb1 = ResourceBundle.getBundle(“cache”, locale1); System.out.println(resb1.getString(“aaa”)); ResourceBundle...aaa”)); Locale locale3 = new Locale(“en”, “US”); ResourceBundle resb3 = ResourceBundle.getBundle(“cache
初识国际化和ResourceBundle 这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念,两者都是一起出现的。...而ResourceBundle可以帮助我们轻松完成这个任务:当程序需要一个特定于语言环境的资源时(如 String),程序可以从适合当前用户语言环境的资源包(大多数情况下也就是.properties文件...ResourceBundle bundle = ResourceBundle.getBundle("res", new Locale("zh", "CN")); 其中new Locale(“zh”,...; public class BundleTest { public static void main(String args[]) { ResourceBundle bundle = ResourceBundle.getBundle...原来ResourceBundle为我们提供了一个fallback(也就是一个备用方案),这个备用方案就是根据当前系统的语言环境来得到的本地化信息。
使用ResourceBundle读取配置文件的例子如下: package com.yawn; import java.io.IOException; import java.util.Locale;...import java.util.ResourceBundle; public class TestBudle { public static void main(String[] args) throws...IOException { // 使用 getBundle 方法加载 ResourceBundle 类 // ResourceBundle resourceBundle = ResourceBundle.getBundle...("com.yawn.Resource",Locale.CHINA); ResourceBundle resourceBundle = ResourceBundle.getBundle("com.yawn.Resource...",Locale.ENGLISH); System.out.println(resourceBundle.getString("key1")); System.out.println(resourceBundle.getString
; public class BundleTest { @Test public void testCase1() { ResourceBundle bundle =...ResourceBundle.getBundle( "TestBundle", new Locale("zh", "CN"));...bundle = ResourceBundle.getBundle( "TestBundle", Locale.US);...bundle = ResourceBundle.getBundle( "TestBundle", Locale.getDefault()...bundle = ResourceBundle.getBundle( "TestBundle", Locale.GERMAN);
参考 ResourceBundle StringManager和MessageFormat 本文只探究它们的用途,不探究实现。...然后类内部维护了一个bundle: private final ResourceBundle bundle; private final Locale locale; 在获取String时,实际上是从绑定的...ResourceBundle 每个包的一种语言表示都对应一个ResourceBundle,它会在包内生成LocalStrings_xx.properties文件,以便后续读取属性的值。
一、ResourceBundle 简介: 资源束(ResourceBundle)是一个本地化对象。它封装了适用于本地环境的资源; 这个类主要用来解决国际化和本地化问题。...从ResourceBundle中获取值 获取ResourceBundle实例后可以通过下面的方法获得本地化值。...Set keys = bundle.keySet(); 其它ResourceBundle 方法可以通过查看文档获得。...三、Tomcat中的ResourceBundle使用 Tomcat 的国际化管理是根据java文件包分类的; (比如操作系统为中文,那么通ResourceBundle.getBundle(org.apache.XXXX...资源束的管理,是ResourceBundle的封装 private final ResourceBundle bundle; (3) 构造方法中实现了通过包名来取得本地环境指定包下的bundle
private val resourceBundle: ResourceBundle = ResourceBundle.getBundle("config", new Locale("zh", "CN"...: String = resourceBundle.getString("local.fs.uri") // Kafka val kafkaBrokerHost: String = resourceBundle.getString...: String = resourceBundle.getString("kafka.logistics.topic") val kafkaCrmTopic: String = resourceBundle.getString...") val dbOracleUser = resourceBundle.getString("db.oracle.user") val dbOraclePassword = resourceBundle.getString...= resourceBundle.getString("db.mysql.url") val dbMySQLUser = resourceBundle.getString("db.mysql.user
类 在对properties文件进行资源读取的时候就需要使用 ResourceBundle 类 ResourceBundle是一个抽象类,类中有一个方法用于取得本类对象: 根据当前语言环境取出:...public static final ResourceBundle getBundle(String baseName); 根据指定语言环境取出: public static final ResourceBundle...; public class TestDemo { public static void main(String [] args) { ResourceBundle rb = ResourceBundle.getBundle...; public class TestDemo { public static void main(String [] args) { ResourceBundle rb = ResourceBundle.getBundle...rb = ResourceBundle.getBundle("Messages",loc); // 访问资源文件properties时,只需要提供文件名即可不要后缀格式名 String str
1、 通过util包中的ResourceBundle加载: 首先国际化资源文件放在了classpath下的i18n目录下: ?...mySource = ResourceBundle.getBundle("i18n/mymessage", locale); return mySource.getString(key...mySource = ResourceBundle.getBundle("i18n/mymessage", locale); return mySource.getString(key...mySource = ResourceBundle.getBundle("i18n/mymessage"); return mySource.getString(key); }...它会将访问过的ResourceBundle缓存起来,以便于下次直接从缓存中获取进行使用。
示例: // ResourceBundle rb = ResourceBundle.getBundle("配置文件相对工程根目录的相对路径(不含扩展名)"); ResourceBundle rb = ResourceBundle.getBundle...name"); } catch(MissingResourceException ex){ 注意:上述方式会缓存配置文件信息,后续读取时均是读取缓存中的内容,若在此期间修改了配置内容是无法实时同步的 ResourceBundle...题外话: ResourceBundle主要用于解决国际化和本地化问题。通过资源命名定义各语言和方言的信息,然乎程序在运行时获取当前本地化信息,并根据本地化信息加载相应的资源完成本地化。 ...资源命名规范: // 仅含家族名 MyResource // 含家族名和语言 MyResource_en // 含家族名、语言和国家 MyResource_en_US 对应的Java代码: // ResourceBundle...ResourceBundle rb = ResourceBundle.getBundle("MyResource", Locale.getDefault()) 五、总结
一、分析问题背景 java.util.MissingResourceException异常通常在使用ResourceBundle类加载资源文件时发生。...ResourceBundle用于加载与特定语言、区域相关的资源文件,这些文件通常以.properties的形式存在,并按照命名约定组织。...场景示例: ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.US); String greeting = bundle.getString...键名不存在:代码中请求的键在资源文件中不存在,或者由于拼写错误,导致ResourceBundle无法找到对应的值。 类路径问题:资源文件未正确打包或放置在类路径中,导致程序在运行时找不到该文件。...验证键名的存在性:在使用ResourceBundle.getString()等方法时,确保请求的键在资源文件中存在,并且拼写正确。
protected ResourceBundle getResourceBundle(String basename, Locale locale) { if (getCacheMillis...() >= 0) { // Fresh ResourceBundle.getBundle call in order to let ResourceBundle...= null) { ResourceBundle bundle = localeMap.get(locale); if (...return null; } } } } // ResourceBundle protected ResourceBundle...*/ protected MessageFormat getMessageFormat(ResourceBundle bundle, String code, Locale locale
文件中的内容 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");// 注意不用写 properties 后缀...读取jdbc.properties文件中的内容 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");// 注意不用写 properties...读取jdbc.properties文件中的内容 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");// 注意不用写 properties...读取jdbc.properties文件中的内容 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");// 注意不用写 properties...读取jdbc.properties文件中的内容 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");// 注意不用写 properties
Java标准资源绑定 在介绍MessageSource之前,得先说清楚Java(J2SE)对国际化的基本实现——ResourceBundle,因为MessageSource是用它实现的。...ResourceBundle很好理解,他就是按照规范的格式放置*.properties资源文件,然后根据输入的语言环境来返回资源。看一个代码例子就很容易明白了。...这个命名方式正好能对应ResourceBundle::getBundle方法中的参数,例如ResourceBundle.getBundle("i18n", new Locale("zh", "CN"))...MessageSource的使用 MessageSource的功能就是用Java标准库的ResourceBundle实现的,所以使用起来也差不多。...basenames这个Setter用于指定*.properties资源文件的名称,规则和前面介绍的ResourceBundle一样。
resourceBundle = ResourceBundle.getBundle("JDBC"); String checkSql = resourceBundle.getString...resourceBundle = ResourceBundle.getBundle("JDBC"); String checkSql = resourceBundle.getString...resourceBundle = ResourceBundle.getBundle("JDBC"); String userLoginSql = resourceBundle.getString...resourceBundle = ResourceBundle.getBundle("JDBC"); String checkSql = resourceBundle.getString...resourceBundle = ResourceBundle.getBundle("JDBC"); String checkMyCartSql = resourceBundle.getString
在JavaAPI中提供了一个ResourceBundle 类用于描述一个资源包,并且 ResourceBundle类提供了相应的方法getBundle,这个方法可以根据来访者的国家地区自动获取与之对应的资源文件予以显示...若ResourceBundle对象在资源包中找不到与用户匹配的资源文件,它将选择该资源包中与用户最相近的资源文件,如果再找不到,则使用默认资源文件。...新建测试类,编写测试代码 @Test public void demo1(){ //使用ResourceBundle读取配置文件,不设置国家 ResourceBundle bundle =...将login.jsp文件修改一下 ResourceBundle bundle = ResourceBundle.getBundle("myproperties",Locale.US); 只需要将创建ResourceBundle...对象的代码作如上修改即可,在Locale类中定义了各种与国家对应的常量,所以我们直接可以在构建ResourceBundle对象时将Locale类的字段传入即可。
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读取方式就必须要重启服务器了。 下一篇文章将会聊一聊,如何动态监听配置文件变化并重新加载。
前言 SpringBoot中校验基本使用 地区解析 测试代码 异常处理 响应结果 Java标准国际化 ResourceBundle Debug Hibernate-validator中使用 WebMvc...Demo中国际化实现的底层依赖于 hibernate-validator 的校验功能 而 hibernate-validator 依赖于Java的国际化 ResourceBundle 来一段ResourceBundle...bundle = ResourceBundle.getBundle("example", Locale.US); String name = bundle.getString("name..."); System.out.println("name = " + name); } } Idea环境下resources目录下右键会有ResourceBundle的选项 ,...创建时会提示一个basename并提示选择en和zh_CN两个Project Locale; 这个就是国际化对应的不同地域的展示文案; ResourceBundle-Debug 上面代码中 ResourceBundle.getBundle
领取专属 10元无门槛券
手把手带您无忧上云