ResourceBundleresourcebundle的主要优点在于实现程序的国际化resourcebundle,通过在bundle文件名后添加国家和语言关键字resourcebundle,系统能够自动加载相应的bundle文件具体操作示例如下在不同文件名后添加对应国家和语言的关键字,如bundleproperties 缺省文件 bundle_zhproperties 中文版本 bundle_japropertie。
准备资源文件ResourceBundle通过加载资源文件实现本地化,需要为每种语言和国家地区准备对应的资源文件资源文件通常是properties格式的文本文件加载资源文件在Java中,使用ResourceBundle类加载资源文件可通过构造函数加载默认文件,或使用带有Locale参数的getBundle方法加载特定文件获取本地化字符串。
一般来说,ResourceBundle类通常是用于针对不同的语言来使用的属性文件而如果resourcebundle你的应用程序中的属性文件只是一些配置,并不是针对多国语言的目的那么使用Properties类就可以了通常可以把这些属性文件放在某个jar文件中然后,通过调用class的getResourceAsStream方法,来获得该属性文件的流对象,再用Propert。
ResourceBundle的主要作用是实现程序的国际化自动加载对应语言资源通过在bundle文件名后添加国家和语言关键字,ResourceBundle能够根据当前系统环境自动加载相应的bundle文件例如,若当前系统环境为中文,则会自动加载bundle_zhproperties文件简化国际化开发使用ResourceBundle可以大大简化程序国际化的开发过程。
假设resourcebundle我们用来读取配置文件的class叫TestResourceBundle,配置项的值来自一个叫property_enproperties的文件该文件应该放到TestResourceBundle所对应的CLASSPATH的目录,有两 个值需要配置name和value首先,需要在该class中定义一些字符串常量,如下public static final String PROPERTIES_FILE_NAME = quot。
Java的ResourceBundle类是用来读取properties的资源文件的,很多国际化操作都使用该类 我需要用这个读取自己自定义的properties文件,一开始是这么写ResourceBundlegetBundlequotgispropertiesquot启动工程竟然发现不能找到资源文件的错误。
2 采用ResourceBundle类读取 方法描述通过完全限定类名的方式加载资源文件,然后直接读取出来 适用场景适用于非Web应用,且资源文件需要放在类classes目录下 优点可以在非Web应用中读取资源文件 缺点只能加载类classes下面的资源文件,且只能读取properties文件3 采用ClassLoader读取 方法描述。
ResourceBundle rb = ResourceBundlegetBundlequotLocalStringsquot检查LocalStrings语言名称是否正确,符合I18N标准另外,你是否有对应的资源文件xxxproperties,而且这个LocalStrings是一个完全限定类名,要与你的xxx对应ResourceBundle。
ResourceBundlegetBundlequotconfquot返回的是一个PropertyResourceBundle对象看了看JDK源代码,PropertyResourceBundle在读文件时使用Propertiesloadstream,它存储的是String所以它永远返回的都是String而不是String数组简言之,PropertyResourceBundl。
配置文件可以存放在webinfo的classes目录中,或在应用层级及webinfo的目录中 适用场景适用于Web应用,且配置文件可以放在srcwebinfo及webroot等目录下 优点可以读取任意类型的配置文件,包括xml和properties 缺点不能在servlet外部应用读取配置信息2 采用ResourceBundle类读取 方法描述通过完全。
一通常实现方法有两种1采用多语言模板,通过程序渲染不同语言版本的模板1优点不同语言版本有各自的模板,维护量大,但维护简单甚至不同版本的模板在显示风格上都可以不同2缺点同一商业逻辑的页面,需要维护多套模板,有重复工作2采用同一模板,利用ResourceBundle配置多语言。
NSString *earth = NSBundle mainBundle pathForResource@quotMatthijsquot ofType@quotpngquot编译之后,mainBundle的资源都是放到RootFolder下,所以,可以直接访问,不要指定内部路径3使用其他的BundleNSString *resourceBundle = NSBundle mainBundle pathForResource@quotResourcesquot ofType@quotbundlequot。
如果发生ResourceBundlegetBundlequotmyresourcequot 读取不到资源文件时,需要注意下面问题\x0d\x0a1,java project\x0d\x0a仅仅需要把myresourceproperties文件放在src下,如果是放在package下,则程序的filename应该packagemyresource\x0d\x0a\x0d\x0a2,j2ee的web project\x0d\x0a1,my。
在Spring或SpringBoot中,国际化功能通过``接口实现此接口提供了三个重要方法,其三个主要实现类及其继承关系如下首先,我们将详细探讨基于`ResourceBundleMessageSource`的基础玩法在SpringBoot项目中实现国际化的基本步骤包括创建一个SpringBoot项目并添加web依赖。
NSString *resourceBundle = NSBundle mainBundle pathForResource@quotResourcesquot ofType@quotbundlequotNSLog@quotresourceBundle %@quot, resourceBundleNSString *earth = NSBundlebundleWithPathresourceBundle pathForResource@quotMatthijsquotofType@quotjpgquotinDirectory@quotImagesMoreImagesquotNSLog@quot。
下一篇: 北斗授时,北斗授时精度是多少
联系电话:18300931024
在线QQ客服:616139763
官方微信:18300931024
官方邮箱: 616139763@qq.com