我正在使用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.
}
}
}解决方法是在文件末尾添加一个虚拟属性。有没有正确的方法?
发布于 2011-07-25 05:20:54
这是一个错误,应该在项目的JIRA中报告:)
发布于 2011-06-15 16:43:52
您可以尝试从**# end coment**的开头删除**,以防有什么不同。
另外,如果在最后一行之后有一行空行,请检查是否有帮助。
发布于 2021-10-13 15:14:58
这似乎是旧版本commons-configuration ( 1.8 <= )的错误
版本1.10应该可以解决这个问题。
从此处下载https://commons.apache.org/proper/commons-configuration/download_configuration.cgi
https://stackoverflow.com/questions/6347749
复制相似问题