解答例 - 実習課題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

