2016-12-23 4 views
0

を提出します。私は知らないのでString値は、私は性質を持っている(このファイルを変更カント)と、それがどのように見える

問題は次のとおりです。

- 値の名前

- どのように多くの値がaaa.bbb.cccにある値AAAのリストを取得することが可能である〜

方法。 bbb.ccc〜?

+0

FYI:http://stackoverflow.com/questions/5328999/wildcard-into-properties –

+0

私の問題を解決する方法はありませんか? – barmi

+0

'aaa.bbb.ccc = firts、second、third'それから' String str = i18n.getText( "aaa.bbb.ccc"); '次に、あなたのリストを分離するために' String.split'を実行します。 – Zorglube

答えて

1

MapFilterを使用できます。 MapFilter(Properties p, String prefix)コンストラクタを使用します。 Triesradix treesは、次のとおりです。

public void test() { 
    Properties props = new Properties(); 
    props.put("aaa.bbb.ccc.first", "my first value"); 
    props.put("aaa.bbb.ccc.second", "my second value"); 
    props.put("aaa.bbb.ccc.third", "my third value"); 
    props.put("Other.props", "others"); 
    MapFilter<String> filtered = new MapFilter(props, "aaa.bbb.ccc."); 
    for (Map.Entry<String, String> e : filtered.entrySet()) { 
     System.out.println("Key: " + e.getKey() + " Value: " + e.getValue()); 
    } 
    System.out.println(filtered); 

} 
+0

プロパティファイルは毎時変更される可能性があります。値は 'aaa.bbb.ccc.'にあります。 – barmi

0

ハッシュマップは、あなたがやりたいのルックアップのようなもののためのものではありません。 Apache Commons CollectionsにはPatricia trieデータ構造(バイナリ基数木)の実装があります。Map<String, Whatever>(目的では素晴らしいコンストラクタが用意されています)からトライを作成し、prefixMap("aaa.bbb.ccc")を使用すると、キーを持つすべてのエントリのサブマップを取得できます。その接頭辞を持つ。

0

プロパティにはpropertyNames()メソッドがあります。あなたはそれを使用してすべての鍵を取得し、そこからあなたが望むものを実行することができます。

+0

これは間違いではありませんが、完全な答えからは遠いです。 – VGR

+0

私は彼のためのすべてのコードを書かずに正しい方向に彼を導いているように私は:) –

関連する問題