Я использую PropertiesConfiguration для редактирования файла свойств. Это позволяет мне сохранять комментарии. Все работает отлично, за исключением комментариев, которые идут после последнего ключа ..
Например, входной файл
# *** A comment
GameCheck.no=No
**# end coment**
Вывод как показано ниже. Он потерял комментарий, который был после последнего ключа
# *** A comment
GameCheck.no = myvar
Код как ниже.
package trials;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.PropertiesConfigurationLayout;
import java.io.FileWriter;
import java.io.IOException;
public class EditVersion {
public static void main(String[] args) {
try {
PropertiesConfiguration config = new PropertiesConfiguration("C:\\try\\in.properties");
config.setProperty("application.version", "myvar");
PropertiesConfigurationLayout layout = config.getLayout();
config.save( new FileWriter( "c:/try/out.props"));
} catch (ConfigurationException e) {
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
}
Обходной путь - добавить фиктивное свойство в конец файла. Есть ли правильный путь?