web-dev-qa-db-ja.com

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

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

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

82

以下を意味する場合;バックスラッシュと行末にのみ依存します。次のドキュメントに記載されています: http://docs.Oracle.com/javase/6/docs/api/Java/util/Properties.html

primes = 2,\
    3,\
    5,\
    7,\
    11
133
Joop Eggen

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

特殊文字とエスケープ

改行、集計、Unicode文字などのプロパティに特殊文字が必要な場合は、Java Strings。the list separator( "、 「デフォルトで)、エスケープすることもできます。

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

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

リストと配列

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

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

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

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

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

11
eckes

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

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

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

0
Mikhail Fursov