apache-commons-config PropertiesConfiguration:丢失最后一个属性后的注释

我正在使用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. } } } 

解决方法是在文件末尾添加虚拟属性。 有正确的方法吗?

这是一个应该在项目的JIRA中报告的错误:)

https://issues.apache.org/jira/browse/CONFIGURATION

您可以尝试从**# end coment**的开头删除**# end coment** ,以防它**# end coment**

如果在最后一行之后有空行,请检查是否有帮助。