解答例 - 実習課題2 - 6.ロケール/プロパティ/リソースバンドル
(実習課題2)
以下のアプリケーションを作成しなさい。
- ロケールで使用されている国コードをキーとし、国名(日本語)を値とするプロパティファイルを作成する事。プロパティは最低10個以上とする事。
- それを読み込み、一覧を表示するアプリケーションを作成する事。
解答例
package com.techscore.utility.chapter6.exercise2; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import java.util.Properties; import java.util.Set; import java.util.Map; /** * PropertyExample.java * TECHSCORE Javaユーティリティ6章 実習課題2 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ public class PropertyExample { public static void main(String[] args) { if (args.length == 0) { System.out.println("引数で読み込むプロパティファイルを指定してください。"); System.exit(0); } try { //プロパティファイルの読み込み InputStream input = new FileInputStream(args[0]); Properties properties = new Properties(); properties.load(input); //プロパティファイルの内容を出力 Set set = properties.entrySet(); Iterator itr = set.iterator(); while (itr.hasNext()) { Map.Entry me = (Map.Entry)itr.next(); System.out.println(me.getKey() + ":" + me.getValue()); } } catch (FileNotFoundException e) { System.out.println(args[0]); System.out.println("指定されたファイルが見つかりません。"); } catch (IOException e) { e.printStackTrace(); } } }
▼以下は、国コードをキーとし、国名(日本語)を値とするプロパティファイルです。
AE=アラブ首長国連邦
BH=バーレーン
DZ=アルジェリア
EG=エジプト
IQ=イラク
JO=ヨルダン
KW=クウェート
LB=レバノン
LY=リビア
MA=モロッコ
OM=オマーン
QA=カタール
SA=サウジアラビア
SD=スーダン
SY=シリア
TN=チュニジア
YE=イエメン
IN=インド
IL=イスラエル
JP=日本
▼以下は、上のファイルをnative2asciiにかけたものです。
AE=\u30a2\u30e9\u30d6\u9996\u9577\u56fd\u9023\u90a6
BH=\u30d0\u30fc\u30ec\u30fc\u30f3
DZ=\u30a2\u30eb\u30b8\u30a7\u30ea\u30a2
EG=\u30a8\u30b8\u30d7\u30c8
IQ=\u30a4\u30e9\u30af
JO=\u30e8\u30eb\u30c0\u30f3
KW=\u30af\u30a6\u30a7\u30fc\u30c8
LB=\u30ec\u30d0\u30ce\u30f3
LY=\u30ea\u30d3\u30a2
MA=\u30e2\u30ed\u30c3\u30b3
OM=\u30aa\u30de\u30fc\u30f3
QA=\u30ab\u30bf\u30fc\u30eb
SA=\u30b5\u30a6\u30b8\u30a2\u30e9\u30d3\u30a2
SD=\u30b9\u30fc\u30c0\u30f3
SY=\u30b7\u30ea\u30a2
TN=\u30c1\u30e5\u30cb\u30b8\u30a2
YE=\u30a4\u30a8\u30e1\u30f3
IN=\u30a4\u30f3\u30c9
IL=\u30a4\u30b9\u30e9\u30a8\u30eb
JP=\u65e5\u672c