Java中读取属性文件以及做资源国际化

简介: 在src下的文件,没写包名   import java.text.MessageFormat; import java.util.Locale; import java.util.ResourceBundle; public class Demo {  /**   * ResourceBundle类的主要是读取属性文件,读取属性文件名称的时候可以   * 直接指定属性文

在src下的文件,没写包名

 

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;


public class Demo {

 /**
  * ResourceBundle类的主要是读取属性文件,读取属性文件名称的时候可以
  * 直接指定属性文件的名称(指定名称是不需要文件的后缀),也可以根据Local
  * 所指定的区域码来选取指定的资源文件。
  *
  * 国际化实现的支持类
  * 要想实现国际化首先就要认识Local类,因此此类事实现国际化的一个重要类
  * public Locale(String language) 构造  根据语言代码构造一个语言环境
  * public Locale(String language,String country) 根据语言和国家构造一个语言环境。
  *
  * 国际化实现的支持类
  * 如果要想实现Java程序的国际化操作必须通过以下的三个类完成:
  * java.util.Local:用于表示一个国家语言类
  * java.util.ResourceBundle:用于访问资源文件
  * java.text.MessageFormat:格式话资源文件的占位符串
  *
  * 如果属性文件在包:cn.edu.hactcm.base.下,则要写成:
  * ResourceBundle zhrb = ResourceBundle.getBundle("cn.edu.hactcm.base.Message", zhLoc);
  */
 public static void main(String[] args) {
  Locale zhLoc = new Locale("zh","CN");  //表示中国地区
  Locale enLoc = new Locale("en","US");  //表示美国地区
  Locale frLoc = new Locale("fr","FR");  //表示法国地区
  //找到中文中的属性文件
  ResourceBundle zhrb = ResourceBundle.getBundle("Message", zhLoc);
  ResourceBundle enrb = ResourceBundle.getBundle("Message", enLoc);
  ResourceBundle frrb = ResourceBundle.getBundle("Message", frLoc);
  
  //一次读取各个属性文件的内容,通过健值读取,此时的健值名称为"info"
  System.out.println("中文:" + zhrb.getString("info"));
  System.out.println("英文:" + enrb.getString("info"));
  System.out.println("法文:" + frrb.getString("info"));
  
  System.out.println();
  
  //依次读取各个属性文件的内容,通过健值读取,此时的健值名称为"info"
  String str1 = zhrb.getString("info");
  String str2 = enrb.getString("info");
  String str3 = frrb.getString("info");
  System.out.println("中文:" + MessageFormat.format(str1, "李兴华"));
  System.out.println("英文:" + MessageFormat.format(str2, "lixinghua"));
  System.out.println("法文:" + MessageFormat.format(str3, "LiXingHua"));
 }
}

 

在src下

Message_en_US.properties中的内容

info=Hello!

 

Message_fr_FR.properties中的内容

info=Bonjour!

 

Message_zh_CN.properties中的内容

info=\u4F60\u597D\!

目录
相关文章
|
27天前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
66 9
|
28天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
66 2
|
1月前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
59 9
|
7天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
63 34
|
12天前
|
JSON 前端开发 JavaScript
Java属性为什么不能是is开头的boolean
在Java实体类中,阿里规约要求boolean属性不应以is开头。文章通过实际案例分析了isUpdate字段在JSON序列化过程中变为update的问题,并提供了自定义get方法或使用@JSONField注解两种解决方案,建议遵循规约避免此类问题。
Java属性为什么不能是is开头的boolean
|
24天前
|
消息中间件 存储 Java
RocketMQ文件刷盘机制深度解析与Java模拟实现
【11月更文挑战第22天】在现代分布式系统中,消息队列(Message Queue, MQ)作为一种重要的中间件,扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件,广泛应用于实时数据流处理、日志流处理等场景。为了保证消息的可靠性,RocketMQ引入了一种称为“刷盘”的机制,将消息从内存写入到磁盘中,确保消息持久化。本文将从底层原理、业务场景、概念、功能点等方面深入解析RocketMQ的文件刷盘机制,并使用Java模拟实现类似的功能。
39 3
|
28天前
|
Java 测试技术 Maven
Maven clean 提示文件 java.io.IOException
在使用Maven进行项目打包时,遇到了`Failed to delete`错误,尝试手动删除目标文件也失败,提示`java.io.IOException`。经过分析,发现问题是由于`sys-info.log`文件被其他进程占用。解决方法是关闭IDEA和相关Java进程,清理隐藏的Java进程后重新尝试Maven clean操作。最终问题得以解决。总结:遇到此类问题时,可以通过任务管理器清理相关进程或重启电脑来解决。
|
1月前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
56 2
|
1月前
|
Java 开发者
JAVA高手必备:URL与URLConnection,解锁网络资源的终极秘籍!
在Java网络编程中,URL和URLConnection是两大关键技术,能够帮助开发者轻松处理网络资源。本文通过两个案例,深入解析了如何使用URL和URLConnection从网站抓取数据和发送POST请求上传数据,助力你成为真正的JAVA高手。
60 11
|
1月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
47 4