よくわからないことを調べて解説してみるブログ。
2015
・ResourceBundleは、国際化に対応したPropertiesクラス
・ResourceBundleはnew でインスタンス化できない
・ResourceBundle#getBundle等を使う。
このメソッドの実行時には、パス付きプロパティファイル名(拡張子なし)を指定する。
引数にLocaleを指定可能であり、指定のLocaleに応じたプロパティファイルを取得する。
取得時のファイル名のルールなどはJavaDoc参照されたい(ResourceBundle#getBundle)。
・なお、プロパティファイルからの取得の場合、暗黙的にPropertyResourceBundleが返却されている(クラスファイルからの取得の場合は、ListResourceBundleが返却される)。
・PropertyResourceBundle について仕様を把握したうえで使うべきである。
サンプルソース
フォルダ構成
src/may20150531
┗ ResourceBundleTest.java
/resourcebundle
┗・sampleprop_jp_JA.properites
・sampleprop_en_US.properties
sampleprop_jp_JA.properites
・ResourceBundleはnew でインスタンス化できない
・ResourceBundle#getBundle等を使う。
このメソッドの実行時には、パス付きプロパティファイル名(拡張子なし)を指定する。
引数にLocaleを指定可能であり、指定のLocaleに応じたプロパティファイルを取得する。
取得時のファイル名のルールなどはJavaDoc参照されたい(ResourceBundle#getBundle)。
・なお、プロパティファイルからの取得の場合、暗黙的にPropertyResourceBundleが返却されている(クラスファイルからの取得の場合は、ListResourceBundleが返却される)。
・PropertyResourceBundle について仕様を把握したうえで使うべきである。
サンプルソース
フォルダ構成
src/may20150531
┗ ResourceBundleTest.java
/resourcebundle
┗・sampleprop_jp_JA.properites
・sampleprop_en_US.properties
sampleprop_jp_JA.properites
sampleprop_en_US.propertiesname=samplePropkey1=20150531lang=Japan
ResourceBundleTest.javaname=samplePropkey1=20150531lang=English
package may20150531; import java.util.Enumeration; import java.util.Locale; import java.util.ResourceBundle; public class ResourceBundleTest { public static void main(String[] args) { System.out.println(Locale.getDefault()); System.out.println("--------------------------"); System.out.println("ResourceBundle.getBundle(\"may20150531.resourcebundle.sampleprop\");"); ResourceBundle bundle = ResourceBundle.getBundle("may20150531.resourcebundle.sampleprop"); Enumeration実行結果keys = bundle.getKeys(); while (keys.hasMoreElements()) { System.out.println(bundle.getString(keys.nextElement())); } System.out.println("--------------------------"); System.out.println("ResourceBundle.getBundle(\"may20150531.resourcebundle.sampleprop\", Locale.JAPAN);"); bundle = ResourceBundle.getBundle("may20150531.resourcebundle.sampleprop", Locale.JAPAN); keys = bundle.getKeys(); while (keys.hasMoreElements()) { System.out.println(bundle.getString(keys.nextElement())); } System.out.println("--------------------------"); System.out.println("ResourceBundle.getBundle(\"may20150531.resourcebundle.sampleprop\", Locale.US);"); bundle = ResourceBundle.getBundle("may20150531.resourcebundle.sampleprop", Locale.US); keys = bundle.getKeys(); while (keys.hasMoreElements()) { System.out.println(bundle.getString(keys.nextElement())); } } }
ja_JP--------------------------ResourceBundle.getBundle("\may20150531\resourcebundle\sampleprop");20150531samplePropJapan--------------------------ResourceBundle.getBundle("\may20150531\resourcebundle\sampleprop", Locale.JAPAN);20150531samplePropJapan--------------------------ResourceBundle.getBundle("\may20150531\resourcebundle\sampleprop", Locale.US);20150531samplePropEnglish
PR
Post your Comment
プロフィール
HN:
たんてーくん
性別:
非公開
最新記事
(03/29)
(03/29)
(06/26)
(05/21)
(04/23)
カテゴリー
最新CM
[09/25 http://2017.bblbuy.com]
[09/24 http://www.japanform.com]
[09/23 http://www.japanform.com]
[09/22 http://www.japanform.com]
[09/21 http://2017.bblbuy.com]
ブログ内検索