- - PR -
リソースファイルから一度に複数の値を取得する方法
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-02-17 17:28
こんにちは。
propertiesファイルから、一度に複数の値を取得する方法がないか悩んでおります。 たとえば、propertiesファイルが以下のようになっていたとします。 keyAAA_001=値あ keyAAA_002=値い keyAAA_003=値う 「keyAAA」だけが分かっている状態で(_nnnの数は不明)「値あ」「値い」「値う」を 取得できる方法がありましたら教えていただけないでしょうか。 (ワイルドカード指定ができれば最高なのですが、都合良過ぎますかね) | ||||
|
投稿日時: 2004-02-17 17:41
ニシトミです
0,1,2と続くなら、ループカウントさせて 取得していけばいいのではないでしょうかね? | ||||
|
投稿日時: 2004-02-17 17:42
java.util.Properties オブジェクトができていれば、あとは Properties#propertyNames() で全プロパティ名を取り出し、String#matches() とか、先頭文字が固定ならば String#startsWith() で比較して値を取り出す方法でできると思います。
String#matches() は J2SDK 1.4 から導入されたものなので、1.3 以前の場合は Jakarta ORO 等を用いてください。 | ||||
|
投稿日時: 2004-02-17 19:44
java.util.TreeMapを使うのも面白いですよ。
これで、"keyAAA_"+数字で始まる全てのプロパティ値を辞書順で取得できます。 | ||||
|
投稿日時: 2004-02-18 17:44
返答が遅くなってすみませんでした。
java.util.Propertiesオブジェクトが取得できていなかったため、そこの部分の 作りこみで時間がかかっていましたが、無事解決できました。 概要といたしましては 1.propertiesにリソースファイルの内容を展開 2.Wataさんから教えていただいたコードを参考にさせていただく 以上でやりたかったことが実現できました。 皆様からいただいた書き込みは大変勉強になりました。 ありがとうございました。 | ||||
|
投稿日時: 2004-02-18 18:54
もう解決されたようですが、Jakartaのcommons-collectionsを使うと、
key1=AAA,BBB,CCC や、 key2=AAA key2=BBB key2=CCC といった記述のpropertiesファイルを作成して、 Javaプログラム側ではListとして取得することができるようです。 http://jakarta.apache.org/commons/collections/ | ||||
1
