Как правильно использовать файлы ini при редактировании и добавлении в Java, где чтение работает с ini4j? - PullRequest
0 голосов
/ 08 января 2012

Как редактировать точно, не прерывая строки? У меня есть файл 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;
}

1 Ответ

2 голосов
/ 09 января 2012

Файлы свойств не следуют тем же правилам, что и файлы ini, в частности, они экранируют разные символы - в вашем случае это экранирование от двоеточия и равенство в данных. Смотри http://en.wikipedia.org/wiki/.properties

Вы можете использовать ini4j , чтобы обрабатывать файлы соответствующим образом, или обрабатывать экранирование после сохранения.

...