0

行を壊さずに正確に編集する方法は? ファイル test.ini があり、それに新しいレコードを追加して、後で変更するだけです。しかし、以下は私の既存のファイルをクラッシュさせています。

ファイル: test.ini:

既存の正しいバージョン:

myname=C://
field=A=B

変更後は次のようになります。

myname=C\://
field=A\=B
newfield=blabla\n

予想される出力は次のとおりです。

myname=C://
field=A=B
newfield=blabla

コード:

//import java.util.Properties;
try {
  Properties p = new Properties();
  p.load(new FileInputStream("/var/tmp/test.ini"));
  p.setProperty(key,fieldName);        
  p.store(new FileOutputStream("/var/tmp/test.ini"), null);        
  return p.getProperty(fieldName);
} catch(Exception e) {
  return null;
}
4

2 に答える 2

2

プロパティ ファイルは、「ini」ファイルと同じ規則に従っていません。特に、異なる文字をエスケープします。この場合、データ内でコロンと等号をエスケープしています。http://en.wikipedia.org/wiki/.propertiesを参照してください

ini4jを使用して適切な方法でファイルを処理するか、保存後に自分でエスケープを処理できます。

于 2012-01-08T20:15:19.367 に答える