Обновить существующую строку в файле - PullRequest
2 голосов
/ 05 декабря 2011

Мне нужно отредактировать существующий файл с именем root.propertis и обновить его, не сохраняя в другом файле

Ниже приведен пример файла proprety.

root.label.getmore=Mehr Apps
root.msg.apps=Apps 
root.label.2.2=Coupons
root.label.35.2=MSNBC
root.label.43.2=PBS Kids
root.label.47.2=Yahoo! Digest

Мне нужно обновить строку в файле "root.label.43.2=PBS Kids" to "root.label.43.2=Updated"

Но мне нужно сохранить в тот же файл (root.propertis), переставив строку root.label.43.2=PBS Kids .Noнеобходимо обновить изменения в другом файле свойств.

Ответы [ 3 ]

5 голосов
/ 05 декабря 2011

Использовать java.util.Properties:

File f = new File("root.properties");
FileInputStream fis = new FileInputStream(f);

Properties p = new Properties();
p.load(fis);
fis.close();

p.setProperty("root.label.43.2", "Updated");

Вызов p.store() для сохранения в файл.

Примечание: обработка исключений исключена.

0 голосов
/ 05 декабря 2011

Чтение и запись файла .properties легко может быть достигнуто с помощью класса Properties (см. javadoc ).

Так что вы можете

  1. Считайте файл в экземпляр Properties, используя метод Properties#load
  2. Обновите экземпляр Properties, используя метод Properties#setProperty
  3. Запишите Properties в файл, используя Properties#store метод
0 голосов
/ 05 декабря 2011

Вы можете использовать следующую последовательность, чтобы изменить Свойства , загрузить свойства с load(), setProperty(key,value) и, наконец, вызвать store(), чтобы записать его обратно.

...