- 浏览: 515737 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (268)
- C/C++ (5)
- LUA (0)
- JVM (6)
- UML (1)
- J2SE (43)
- J2EE (15)
- EXTJS (1)
- HTML5 (47)
- ANDROID (2)
- JAVASCRIPT (51)
- WEB SERVICES (0)
- 数据库 (2)
- 数据结构 (0)
- 应用服务器 (11)
- 设计模式应用 (0)
- JAVA性能与缓存 (1)
- ByteCode (5)
- RCP (0)
- Plugin (0)
- Eclipse (3)
- 程序人生 (14)
- Mobile (2)
- Linux/Ubuntu (31)
- sublime (2)
- python (15)
- Git (5)
- NodeJs (3)
- Crosswalk (1)
- Browserify (1)
- Backbone (1)
最新评论
ResourceBundle
使用ResourceBundle
访问本地资源,在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class
,.config
保存此类信息并不适合,这时我们需要ResourceBundle
。
通过ResourceBundle
,我们需要访问位于/WEB-INF/classes
目录下的一个后缀名为properties
的文本类型文件,从里面读取我们需要的值。
Locale locale = Locale.getDefault();
ResourceBundle localResource =
ResourceBundle.getBundle("ConnResource", locale);
String value = localResource.getString("test");
System.out.println("ResourceBundle: " + value);
这里对应了/WEB-INF/class/ConnResource.properties 文件内容为:
test=hello world
打印出来的结果就是hello
world
请注意,这里我们可以利用Locale
和ResourceBundle
的这个组合创建国际化的java
程序。我们可以把locale
实例化为new
Locale("zh","CN");
通过ResourceBundle.getBundle("MessagesBundle", locale);
系统将自动寻找MessagesBundle_zh_CN ,即定义为中国大陆地区简体中文。如果没有该文件,则会依次寻找MessagesBundle_zh ,MessagesBundle ,直到找到为止。
import java.util.Locale; import java.util.ResourceBundle; public class LocaleTest { public static void main(String[] args) { Locale localeCN = new Locale("zh","CN"); Locale localeJP = new Locale("co","JP"); ResourceBundle localResourceCN = ResourceBundle.getBundle("ConnResource", localeCN); String valueCN = localResourceCN.getString("test"); System.out.println("ResourceBundle: " + valueCN); ResourceBundle localResourceJP = ResourceBundle.getBundle("ConnResource", localeJP); String valueJP = localResourceJP.getString("test"); System.out.println("ResourceBundle: " + valueJP); } }
文件内容:
ConnResource_co_JP.properties
:test=hello
japan
ConnResource_zh_CN.properties
:test=hello
china
发表评论
文章已被作者锁定,不允许评论。
-
关于Thread.IsAlive属性
2015-07-04 12:12 882今天在讨论多线程的时候,谈到了这个属性。IsAlive,顾名 ... -
Java:对象的强、软、弱和虚引用
2015-02-28 11:00 731文章源自:http://zhangjunhd.blog.51 ... -
一个通用并发对象池的实现
2015-01-20 09:32 733Source: http://ifeve.com/gener ... -
如何创建不可变的Java类或对象
2015-01-07 16:29 2183在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过 ... -
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
2014-12-29 11:49 803文章源自:http://www.cnblogs.com/li ... -
中断线程深入
2014-12-25 15:18 795本文转自http://jiangzhengjun.itey ... -
深入java.lang.ThreadLocal类
2014-12-24 16:50 707文章源自:http://lavasoft.blog.51c ... -
Java 8新特性探究(3):解开lambda最强作用的神秘面纱
2014-07-10 17:50 711文章源自:http://developer.51cto.co ... -
Java 8特性探究(2):深入解析默认方法
2014-07-08 11:12 782文章源自:http://develop ... -
Java 8特性探究(1):通往lambda之路_语法篇
2014-07-08 09:59 691文章源自:http://developer.51cto.c ... -
java文件复制方法参考
2013-12-02 14:17 730最快的文件复制方法 private static ... -
用Java数字签名提供XML安全
2013-11-29 16:11 13134文章源自:http://www. ... -
深入理解HashMap的工作原理
2013-11-18 15:49 824HashMap的工作原理是近 ... -
JDBC4.0 驱动加载过程
2013-01-16 10:09 3634注意,jdbc4.0不再需要显示调用class.fo ... -
Java自定义的类加载器
2013-01-15 08:38 1014一、类加载器类别 * 1.java虚拟机自带的加载器 ... -
使用Log4j生成不同日志级别的日志文件
2012-12-26 17:09 5331在src根目录下存放log4j.xml文件,具体配置如下(测试 ... -
深入理解HashMap
2012-12-13 10:08 865文章摘自:http://www.iteye.c ... -
java字节码加解密
2012-06-30 09:53 1096一.创建KEY class Key { ... -
java动态代理简单实现
2012-06-30 09:45 1026一.接口 public interface Foo { ... -
线程池简单实现
2012-06-25 11:42 1097其实线程池的实现就是生产者消费者问题 的实现,理解了生产者消 ...
相关推荐
本文将深入探讨Xml ResourceBundle的实现原理、优势以及如何在实际项目中使用。 首先,我们来理解什么是ResourceBundle。在Java中,ResourceBundle是一个接口,用于管理应用程序中的可配置资源,如字符串、图像或...
ResourceBundle Editor (eclipse-rbe)是一个用于编辑本地化的属性文件(localized properties files)。它让你通一个屏幕就能够同时管理所有相关联属性文件中的key/value信息。它所具有的功能包括:自动为Keys分类,...
在Flex中,国际化主要是通过`ResourceBundle`类和`locale`属性来实现的。`ResourceBundle`是Flex提供的一套资源管理机制,它允许开发者将应用程序中的字符串、图像等可变资源与代码分离,便于根据不同地区创建不同的...
本文将深入探讨“信息绑定ResourceBundle”这一主题,并结合提供的`conndb.properties`文件,介绍如何使用ResourceBundle进行资源配置。 首先,让我们了解什么是ResourceBundle。ResourceBundle是Java API中用于...
在这个名为 "ResourceBundle:资源包,包括图片源代码-源码包" 的压缩包中,我们很可能会找到一个名为 `ResourceBundle-master` 的项目,它可能包含了如何使用 `ResourceBundle` 类来管理和使用资源,特别是与图像...
ResourceBundle bundle = ResourceBundle.getBundle("messages", locale); ``` 加载后,我们可以通过键来获取对应的值: ```java String greeting = bundle.getString("greeting"); ``` **4. 国际化日期和数字格式*...
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); ``` 这个方法通常用于处理不同语言环境下的资源配置。 3. **使用java.util.PropertyResourceBundle类的构造函数** 如果你直接需要...
在国际化应用中,消息通常需要根据不同的地区显示不同的语言,因此MessageFormat与ResourceBundle结合使用可以非常方便地实现这一点。消息格式字符串中通过占位符来标识动态内容的位置,例如"Welcome, {0}!"中的{0}...
下面将详细介绍`ResourceBundle`类的使用以及在JSP中的具体实现方法。 ### 一、`ResourceBundle`类简介 `ResourceBundle`是Java的`java.util`包中的一个类,它提供了一种方式来存储和检索特定于语言环境的字符串和...
4. **使用合适的locale**:确保选择正确的 `Locale` 对象,以加载相应语言版本的 `ResourceBundle`。例如,对于中国用户,可以使用 `Locale.CHINA` 或 `Locale.SIMPLIFIED_CHINESE`。 5. **处理输入输出流**:如果...
ResourceBundle类则用于加载与特定Locale相对应的本地化资源文件。资源文件通常是properties格式,包含了软件界面中要显示的各种文本字符串。ResourceBundle类通过getBundle方法加载资源文件,它接受两个参数:资源...
`ResourceBundle`会使用`Locale`对象来定位和加载正确的资源文件。 除了基本的`.properties`文件,Java还支持其他类型的资源包,如XML格式的`ResourceBundle`,这提供了更复杂的数据结构和注解功能。 在实际开发中...
ResourceBundle bundle = ResourceBundle.getBundle("messages", locale); // 使用资源包中的字符串 String greeting = bundle.getString("greeting"); System.out.println(greeting); ``` 为了更好地支持国际化,...
ResourceBundle是Java平台中用于实现国际化的重要工具,它允许开发者将应用程序中的文本资源,如字符串、错误消息等,与特定的地区或语言相分离。ResourceBundleEditor则是专门用于管理和编辑ResourceBundle文件的...
#### 三、国际化资源文件的组织与使用 为了支持多语言环境,通常会创建一系列的属性文件(`.properties`文件),每个文件对应一种语言和地区。例如: - `MessagesBundle.properties` —— 默认的英文版本 - `...
4. **获取资源**:在Java代码中,可以使用`ResourceBundle.getBundle()`方法来加载指定Locale的ResourceBundle。这个方法会根据指定的基名(如`messages`)和当前Locale找到对应的`.properties`文件,然后返回一个...
- **加载资源**:可以通过 `ResourceBundle.getBundle(String baseName, Locale locale)` 方法加载与指定 `Locale` 相对应的资源包。 - **获取资源**:一旦 `ResourceBundle` 被加载,可以通过 `getString(String ...
ResourceBundle bundle = ResourceBundle.getBundle("messages", new Locale("de")); ``` 2. 获取值:通过键获取资源包中的值: ```java String greeting = bundle.getString("greeting"); ``` 3. 输出结果:...