首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apache-commons-config PropertiesConfiguration:最后一个属性后的注释丢失

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

Stack Overflow用户
提问于 2011-06-15 01:45:45
回答 3查看 5.3K关注 0票数 5

我正在使用PropertiesConfiguration编辑属性文件。这让我可以保留评论。除了最后一个键之后的注释之外,所有的工作都很正常。

例如输入文件

代码语言:javascript
复制
# *** A comment
GameCheck.no=No
**#  end coment**

输出如下所示。它丢失了上一个键之后的注释

代码语言:javascript
复制
# *** A comment
GameCheck.no = myvar

代码如下所示。

代码语言:javascript
复制
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.
        }
    }
}

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-25 05:20:54

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

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

票数 2
EN

Stack Overflow用户

发布于 2011-06-15 16:43:52

您可以尝试从**# end coment**的开头删除**,以防有什么不同。

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

票数 0
EN

Stack Overflow用户

发布于 2021-10-13 15:14:58

这似乎是旧版本commons-configuration ( 1.8 <= )的错误

版本1.10应该可以解决这个问题。

从此处下载https://commons.apache.org/proper/commons-configuration/download_configuration.cgi

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6347749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档