java bundle管理_java.util.ResourceBundle使用详解

一、认识国际化资源文件

这个类提供软件国际化的捷径。通过此类,可以使您所编写的程序可以:

轻松地本地化或翻译成不同的语言

一次处理多个语言环境

以后可以轻松地进行修改,支持更多的语言环境

说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。

使用这个类,要注意的一点是,这个properties文件的名字是有规范的:一般的命名规范是: 自定义名_语言代码_国别代码.properties,

如果是默认的,直接写为:自定义名.properties

比如:

myres_en_US.properties

myres_zh_CN.properties

myres.properties

当在中文操作系统下,如果myres_zh_CN.properties、myres.properties两个文件都存在,则优先会使用myres_zh_CN.properties,当myres_zh_CN.properties不存在时候,会使用默认的myres.properties。

没有提供语言和地区的资源文件是系统默认的资源文件。

资源文件都必须是ISO-8859-1编码,因此,对于所有非西方语系的处理,都必须先将之转换为Java Unicode Escape格式。转换方法是通过JDK自带的工具native2ascii.

二、实例

定义三个资源文件,放到src的根目录下面(必须这样,或者你放到自己配置的calsspath下面。

#myres.properties

aaa=good

bbb=thanks

#myres_en_US.properties

aaa=good

bbb=thanks

#myres_zh_CN.properties

aaa=\u597d

bbb=\u591a\u8c22importjava.util.Locale;importjava.util.ResourceBundle;/*** 国际化资源绑定测试

*

*@authorleizhimin 2009-7-29 21:17:42*/

public classTestResourceBundle {public static voidmain(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 code0

四、中文资源文件的转码 native2ascii

bb2f7c8c4907e19fd4fbba6effb170df.png

如果觉得麻烦,可以直接将中文粘贴到里面,回车就可以看到转码后的结果了。

0a483c9ab3a9f92f5e91fda19126d55d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java mac postgresql_PostgreSQL 的安装与使用 for mac

##安装 在 mac 下,可以利用 homebrew 直接安装 PostgreSQL:brew install postgresql安装好之后有一个数据库(postgres),如需要重新初始化数据库:initdb /usr/local/var/postgres_mao启动:pg_ctl -D /usr/local/var/pos…

疯狂java讲义价格_疯狂java讲义

封装:封装:将对象状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是用类所提供的方法访问和操作。访问控制符:private(当前类访问权) ,protected(子类访问),public(公共访问),default(包访问…

java源代码实例倒计时_Java倒计时三种实现方式代码实例

写完js倒计时,突然想用java实现倒计时,写了三种实现方式一:设置时长的倒计时;二:设置时间戳的倒计时;三:使用java.util.Timer类实现的时间戳倒计时代码如下:package timer;import ja…

java 加密 encrypt_JAVA Encrypter 加密算法

Java代码/*** 加密者** time: 2007-8-29 下午05:45:36*/public final class Encrypter {private static Cipher ecipher;private static Cipher dcipher;// 必须24个字符private static final String key "*:1$7!a*:1$7!a*:1$7!^";private static final String alg …

java base64 加解密_java Base64加解密

import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Base64Util {public static void main( String[] args ) {String data2 " var re1/[a-zA-Z]/g; return (FIELD_VALUE.match(re1)).length;";try {// BASE64加密BASE64Encoder encoder n…

python svn库_python实现svn新老库迁移

1 #!/usr/bin/env python2 #codingutf-834 #启动环境:linux,安装了python,svn客户端,并且具备python部分依赖包,xlrd,shutil,如果没有网上搜索安装5 #启动方式:将文件MvSvnLibToNew.…

python二维表转一维表_二维表格转换成一维表格

# 加载数据import pandas as pddf_old1 pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name "变一维")df_old1# 数据清洗,把第一列设为索引列df_old2 pd.read_excel(r"D:\Jupyter\data\Python.xlsx",sheet_name "变一…

java web后台_java web 后台那些事

java web 后台运行原理当Web服务器接收到一个HTTP请求时,它会先判断请求内容——如果是静态网页数据,Web服务器将会自行处理,然后产生响应信息;如果牵涉到动态数据,Web服务器会将请求转交给Servlet容器。此时Servlet容…

MyBatis的缓存!!!!

1.一级缓存&#xff08;默认开启&#xff09; (1) 首先在UserMapper接口定义两个方法&#xff1a; package com.by.mapper;import com.by.pojo.User; import org.apache.ibatis.annotations.Param; import org.junit.Test;import java.util.List;/*** <p>Project: myb…

java动态语言_探秘Java 7:JVM动态语言支持详解

JDK 7 增加了对 JSR 292 的支持&#xff0c;在 JVM 中动态类型语言的运行速度将变得更快。这一支持的关键在于增加了新的 Java 字节码&#xff0c;invokedynamic&#xff0c;它用于方法调用&#xff0c;还有新的连接机制&#xff0c;其中包含了一个新的构造&#xff1a;方法句柄…

java 反射机制 视频_JAVA反射机制及其原理实现

9.1 概念JAVA反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法和属性&#xff1b;public、protected、private。OO(面向对象)&#xff0c;private私有的&#x…

python模型的属性是什么_python – Django:为什么Django模型字段的类属性?

不,原因与此相同&#xff1a;>>> class Foo(object):... bar Foo attribute...>>> f Foo()>>> f.barFoo attribute>>> Foo.barFoo attribute>>> f.bar instance attribute>>> f.barinstance attribute>>> F…

java 安卓下载文件_GitHub - Charay/downloadfile: 使用Retrofit2+Rxjava+Rxandroid+okhttp的方式下载文件并存储到sd卡指定目录...

downloadfile使用Retrofit2RxjavaRxandroidokhttp的方式下载文件并存储到sd卡指定目录使用&#xff1a;gradleStep 1.在工程build.gradle文件中加入maven地址repositories:allprojects {repositories {...maven { url https://jitpack.io }}}Step 2. 在module的build.gradle中添…

java map 队列_Java:queue队列,map集合

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Queue&#xff1a; 基本上&#xff0c;一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别&#xff0c;都是继承了Collection接口。LinkedList实现了Deque接 口示例代码&#xff1a;1. import java.util.Linke…

java溢出怎么处理_java数据溢出怎么处理?

publicstaticvoidmain(String[]args){//TODO自动生成的方法存根ScannerscnewScanner(System.in);Stringaasc.nextLine();sc.close();floatdn0,xn0,kn0,sn0,qn0;for(inti0;i<a...public static void main(String[] args) {// TODO 自动生成的方法存根Scanner scnew Scanner(S…

java基础 最重要的部分_Java基础(1)最基础的部分

本文章均为自己在自学期间整理的笔记&#xff0c;2020年四月份开始学习Java&#xff0c;如有不足&#xff0c;请补充。希望对各位小伙伴都能有帮助。1.Java中public class和class区别&#xff1a;1)在一个Java文件中可以定义多个class 2)public的class不是必须的 3)public修…

logstash mysql增量_Logstash jdbc 按时间增量更新的一些总结

不同数据库的支持mysql数据类型显示样例是否支持timestampstatementtracking_columntracking_column_typeSQL示例date2020-10-20Nselect *, datediff(date, 1970-01-01) as days from tbl_time where datediff(date, 1970-01-01) > :sql_last_valuedaysnumericselect *, dat…

用java编写奖金税率_企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%_java企业利润提成计算代码...

今天上java课程的时候老师给布置了一个作业&#xff0c;让让java计算一下企业该发放的奖金总额&#xff0c;接下来吾爱编程就为大家介绍一下java实现企业发放的奖金根据利润提成的代码&#xff0c;有需要的小伙伴可以参考一下&#xff1a;1、题目如下&#xff1a;企业发放的奖金…

java 多线程工具_多线程测试工具groboutils的使用

public class FaultServiceTest extends TestCase {/*** param args* throws FaultException* throws ExpParamNotFoundException* throws ParseException*/private IFaultService faultService;private static final int NUM_THREAD 100; // 测试线程总数public FaultService…

java提取多行嵌套div/div内容的正则表达式_提取某一段div标签之间内容的正则表达式怎么写...

满意答案public static void main(String[] args) {String source"\">是大家是否gt;士大夫士大夫";StringBuilder resultnew StringBuilder();System.out.println("开始匹配文字内容");String patternStrs"()(.?)()";Pattern patternPa…