PropertiesConfigurationを使用して複数行のプロパティ値を書き込む方法は?


99

List値(カンマ区切り)を持つプロパティを含むプロパティファイルがあります。このプロパティを複数行で記述する方法を教えてください。(コンマの後のバックスラッシュ)?

これについて、または少なくともコンマからコンマとバックスラッシュへのエスケープについては何も見つかりません。


1
明確にしてもらえますか、あなたが何をしようとしているのかよく
わかり

1
複数行の値を持つプロパティがあります。たとえば、key1 = val1、\ val2、\ val3 key2 = hello val1、val2、val3は別々の行にありますが、PropertiesConfigurationsがそれらをファイルに書き込むと、それらは1つに書き込まれますライン
Uhkkgjhfjf Jgkjkhj

ああ、あなたはそれがどのようにそれを書いているのか話している... ok
Aviram Segal

回答:



26

ユーザーガイドでプロパティファイルを確認します

特殊文字とエスケープ

改行、表、Unicode文字などのプロパティに特殊文字が必要な場合は、Java文字列に使用されるのと同じエスケープ表記で指定できます。リスト区切り文字(デフォルトでは "、")もエスケープできます:

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

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

リストと配列

プロパティファイルで値のリストを指定するには、複数の行で同じキーを使用します。

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

15

複数行のプロパティを実際にプロパティファイルと戻り値で表すには\n、コンテンツ内の文字と行継続エスケープ(\<eol>行末)を組み合わせる必要があります。

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

commons-configurationが実際にこの構文を使用して記述できるように構成できるかどうかはわかりません。


0

別のオプションは、複数行の値をサポートするように設計されているプロパティ形式の1つを使用することです。

XMLは複数行のプロパティを適切に処理できますが、ノイズがたくさんあります。

MProps:は、特別なフォーマットをほとんど必要としないフォーマットの例です。https//github.com/mprops/mprops-java

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.