2011-06-14 48 views
5

我正在使用PropertiesConfiguration来编辑属性文件。这允许我保留评论。除了最后一个键后到来评论一切工作正常..apache-commons-config 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

您可以尝试从**# end coment**开头删除**以防万一。

还检查它是否有帮助,如果您的最后一个实际行后面有一个空行。

+0

..它没有。 :( – Jayan 2011-06-21 13:47:24