我正在使用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.
}
}
}
解决方法是在文件末尾添加虚拟属性。有正确的方法吗?
答案 0 :(得分:2)
这是一个应该在项目的JIRA中报告的错误:)
答案 1 :(得分:0)
您可以尝试从**
的开头删除**# end coment**
,以防它产生影响。
同时检查在最后一行之后是否有空行是否有帮助。