惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - .3S Swimmer

CVS使用汇编 CVS使用中遇到的问题及解决办法[随记] - .3S Swimmer - 博客园 在.net 2005 环境中开发ArcMap工具条 ArcIMS开发(一)——ArcIMS API 简介 使用ArcIMS9.2+Java ADF建立基本的WebGIS站点的尝试 从已有的文件中恢复ClearCase LT Server 申请了一个gmail邮箱,体验ing C#中创建和使用资源动态链接库 C#中unhandled异常处理的问题 解决SQL Server 连接时的一些基本问题后的若干初浅心得 使用XML的DOM和XPath来创建多项选择题的在线测试 二维数据表的显示 农用地定级系统工作计划 二维数据表的XML描述 ALEIS,啊,累死 我不认为我喜欢编程 用XSD判断XML文件中元素和属性 ClearCase LT的使用心得(二) ALEIS定级部分工作分配
用类的方式实现资源国际化
.3S Swimmer · 2010-01-03 · via 博客园 - .3S Swimmer

Java支持两种方式存放国际化资源,properties文件和类文件。properties文件简单易用,类文件效率高。这里介绍采用类包装国际化资源的方法,而用properties包装的方法有太多的介绍,就不说了吧。

1、首先明确资源类文件放在应用的什么地方。因为是类,所以和其他类没有什么差别,同样可以定义成如com.test.resources.info普通类名,按照要求,需要继承ListResourceBundle类,实例如下:

package com.test.resources

import java.util.ListResourceBundle;

public class info_zh_CN extends ListResourceBundle{

   private final Object res[][]={

  //这里放置值对

  {"key","对应的值"}

  };

  @Override
    protected Object[][] getContents() {       
        return res;
    }   

}

2、使用这个资源类

在需要的地方写下列语句就可以了

   Locale l = Locale.getDefault();
        ResourceBundle bundle = ResourceBundle.getBundle("com.test.resources.info", l);
        String msg = bundle.getString("key");   //得到值

3、占位符输出使用 MessageFormat.format()函数,类似properties的使用。

4、优点:(1)包装在类中,似乎可以不用native2ascii处理;(2)类的访问更加灵活,只需指明包名即可;(3)不需要特殊的配置

一点拙见而已。