次のプロパティ ファイルを使用します。
foo=hello, world!
bar=first,second
最初の項目を文字列として、2 番目の項目を配列として取得したいと思います。getString
私はvsgetStringArray
がこれに対処すると思っていたでしょうが、そうではありません -getString("foo")
コンマの前にすべてを取得するだけです。つまり、「こんにちは」です。
を使用して区切り文字の解析を無効にするsetDelimiterParsingDisabled
と、 foo は問題ありませんが、これにより の動作が変更getStringArray("bar")
され、単一要素の配列が返されます。
個々の構成項目を文字列または配列として解釈する方法を明示的に伝える方法が見つかりません。構成項目を異なる区切り文字ルールを持つ個別の構成ファイルに入れたくありません。また、getStringArray の場合の区切り文字としてコンマを使用することをお勧めします。
詳しく説明すると、このスニペットは、hello - 2
またはhello, world! - 1
- I want it to print hello, world! - 2
!のいずれかを出力します。
AbstractFileConfiguration config = new PropertiesConfiguration();
config.setFileName("C:\\temp\\temp.properties");
//config.setDelimiterParsingDisabled(true);
config.load();
System.out.println(config.getString("foo") + " - " + config.getStringArray("bar").length);