通过java.util.ResourceBundle 可以非常简单的读取配置文件,如下
package util;
import java.util.ResourceBundle;
/**
* 项目参数工具类
*
* @author
*
*/
public class ResourceUtil {
private static final ResourceBundle bundle = ResourceBundle.getBundle("config");
/**
* 获得sessionInfo名字
*
* @return
*/
public static final String getSessionInfoName() {
return bundle.getString("sessionInfoName");
}
}
它会读取WEB-INF/classes 目录下后缀为.properties的文件。
ResourceBundle 和Local一起使用可以实现配置文件的国际化。实例如下
定义三个资源文件,放到src的根目录下面(必须这样,或者你放到自己配置的calsspath下面。
myres.properties
myres_en_US.properties
myres_zh_CN.properties
aaa=\u597d
bbb=\u591a\u8c22
import java.util.Locale;
import java.util.ResourceBundle;
/**
* 国际化资源绑定测试
*
* @author leizhimin 2009-7-29 21:17:42
*/
public class TestResourceBundle {
public static void main(String[] args) {
Locale locale1 = new Locale("zh", "CN");
ResourceBundle resb1 = ResourceBundle.getBundle("myres", locale1);
System.out.println(resb1.getString("aaa"));
ResourceBundle resb2 = ResourceBundle.getBundle("myres", Locale.getDefault());
System.out.println(resb1.getString("aaa"));
Locale locale3 = new Locale("en", "US");
ResourceBundle resb3 = ResourceBundle.getBundle("myres", locale3);
System.out.println(resb3.getString("aaa"));
}
}
运行结果:
好
好
good
Process finished with exit code 0
如果使用默认的Locale,那么在英文操作系统上,会选择myres_en_US.properties或myres.properties资源文件。
分享到:
相关推荐
### ResourceBundle与Properties读取Maven中Resources目录下的资源文件 #### 一、概述 在Java开发过程中,我们经常需要读取资源文件中的配置信息。在Maven项目中,`src/main/resources`目录下通常存放了各种配置...
j18n替代了java.util.ResourceBundle以支持Unicode属性文件。 您可以将UTF8字符放入* .properties中,唯一的代码更改是将“ ResourceBundle.getBundle(..)”替换为“ J18n.getBundle(..)”。
`ResourceBundle`是Java提供的一种国际化的资源管理工具,也可以用来读取配置文件。它支持多种语言环境,适合处理多语言配置。不过,它默认只支持.properties格式: ```java ResourceBundle bundle = ...
在Java编程中,资源绑定(ResourceBundle)是一种管理国际化和本地化资源的重要机制。它允许开发者将应用程序中的文本、消息和配置信息与特定的语言环境或区域设置分离开来,以便于维护和更新。本文将深入探讨“信息...
Java提供了`java.util.ResourceBundle`类来管理和加载这些资源包。以下是一些关于Java多国语言支持的关键知识点: 1. **Resource Bundle创建**:首先,你需要为每种语言创建一个.properties文件,例如`messages_en....
首先,我们需要理解`ResourceBundle`类,它是Java i18n的核心。`ResourceBundle`用于存储特定语言或区域的字符串和其他可本地化资源。这些资源通常保存在.properties文件中,每个文件对应一种语言或地区。例如,我们...
`java.util.ResourceBundle`类用于加载和管理资源包。在JSP中,可以通过`ResourceBundle.getBundle()`方法获取对应的资源包,传入的参数是资源包的基名(通常是不带后缀的文件名)和Locale对象。例如: ```java ...
在Java编程中,读取`properties`文件是常见的任务,用于存储配置信息或者系统设置。以下将详细讲解六种不同的方法来实现这一功能。 1. **使用Properties类** Java的标准库提供了`java.util.Properties`类,它是...
Java 实现国际化(I18N)是为应用程序提供多语言支持的过程,使得软件能够适应不同国家和地区的用户。I18N 是 "Internationalization" 的缩写,因为 "i" 和 "n" 之间有18个字母,这个术语在编程领域广泛使用。在这个...
`ResourceBundle` 是 Java 中用于管理国际化资源的关键类,它允许开发者存储特定语言环境下的文本、消息和其他内容。然而,由于编码设置不正确或处理不当,可能会导致中文字符显示为乱码。`BundleEditor` 工具的出现...
为了读取和操作properties文件,Java提供了`java.util.Properties`类以及`java.util.ResourceBundle`类。题目中的代码片段使用了`ResourceBundle`类,这通常用于处理包含国际化资源的properties文件。 ```java ...
2. **使用 `java.util.ResourceBundle` 类的 `getBundle()` 方法** `ResourceBundle` 是用来处理国际化(i18n)资源的类,但也可以用来加载 `.properties` 文件。示例代码: ```java ResourceBundle rb = ...
Java国际化(i18n)是Java平台为支持全球不同地区的用户和语言而设计的一种机制。i18n这个名字来源于“internationalization”这个单词,其中'i'是第9个字母,'n'是第14个字母,所以18代表了两者之间的字母数。Java的...
`java.util.ResourceBundle`通常用于本地化,但也可以用来加载配置文件。这种方式适用于需要根据不同语言环境加载不同配置的情况: ```java ResourceBundle rb = ResourceBundle.getBundle("config", Locale.get...
Java提供了强大的国际支持功能,这主要通过`java.util`包中的`Locale`类和`ResourceBundle`类来实现。 ##### 2.1 Locale类 `Locale`类表示特定地理、政治或文化区域(如“美国”、“法国”等)的特定设置。它用于...
`ResourceBundle`类是JAVA提供的一种用于读取资源文件的工具类。它可以自动根据当前系统设置加载合适的资源文件。 **示例代码:** ```java ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale....
### Java 文件加载机制详解 #### 一、概述 在Java应用开发中,特别是Web应用程序的构建过程中,资源文件(如配置文件、属性文件等)的加载是必不可少的一部分。本文将重点探讨Java环境下不同方式下的文件加载方法...
首先,我们来看`ResourceBundle`类,它是Java国际化的核心组件。`ResourceBundle`用于存储特定语言环境下的资源,如字符串、图片、音频等。它通过键值对的形式组织数据,使得在运行时可以根据用户的地区设置加载相应...