2012-01-23 17 views
70

私はリスト値(カンマ区切り)を持つプロパティを持つプロパティファイルを持っています、このプロパティを複数行に書く方法は? (コンマの後のバックスラッシュ)?PropertiesConfigurationを使用して複数の行プロパティ値を書き込む方法は?

は、私は、少なくとも任意の助けが理解されるであろう

コンマとバックスラッシュにカンマをエスケープについては、このまたは約何かを見つけることができません。

代替フレームワークについてもお聞きしたいと思います。

おかげ

+1

あなたは明確にしてくださいすることができ、私は例えば、複数回線ヴァリエを持っているどのような性質持っているあなたが –

+1

をやろうとしているかわからない: val2の\ = val1と KEY1、 val3は \ KEY2 =こんにちは を val1、val2、val3は別々の行にありますが、PropertiesConfigurationsがそれらをファイルに書き込むと、1行に書き込まれます –

+0

ああ、書き込む方法について話しています... ok –

答えて

23

チェックUser Guide for Properties files

Special Characters and Escaping:あなたは改行などのプロパティで特殊文字が必要な場合は

、 集計またはUnicode文字は、次のように指定することができますそれは同じ文字列で、Java文字列に使用されるエスケープされた表記です。 ( デフォルトでは "")区切り記号は、また、エスケープすることができます。

key = This \n string \t contains \, escaped \\ characters \u0020

バックスラッシュはより困難です。

Lists and arrays:あなたはあなたの特性の値のリストを指定することができます

が複数の行に 同じキーを使用してファイル:

# chart colors 
colors.pie = #FF0000; 
colors.pie = #00FF00; 
colors.pie = #0000FF; 
9

あなたは複数行プロパティを取得するには、コンテンツ内の\n文字と行継続エスケープ(行末の\<eol>)を結合する必要があり、実際のプロパティで表されファイルと戻り値:

KEY1=first line\n\ 
second line\n\ 
last line 
KEY2=another key 

実際にこの構文を記述するためにcommons-configurationを設定できるかどうかは不明です。

関連する問題