gpt4 book ai didi

java - Apache通用配置库: corrupted property file

转载 作者:行者123 更新时间:2023-12-02 07:51:46 24 4
gpt4 key购买 nike

我从客户那里收到了损坏的属性文件。该文件被应用程序修改以更新版本号。代码使用 apache commons configuration.当我测试时,该库似乎总是以 iso-8859-1 格式写入文件。

代码简化如下。以下代码写入错误文件的可能性有多大?

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;

import java.io.FileWriter;
import java.io.IOException;

public class TestConfig {

public void editVersionInfo() throws ConfigurationException, IOException {

String filename = "C:\\temp\\VersionProperties\\Version.properties";
PropertiesConfiguration config = new PropertiesConfiguration(filename);
config.setProperty("application.version", "2011");
config.save(new FileWriter(filename));

}

public static void main(String[] args) throws IOException, ConfigurationException {
TestConfig tc = new TestConfig();
tc.editVersionInfo();
}
}

以防万一 - 错误文件如下所示。它看起来不像任何编码。该文件最初是普通属性文件,键和值均为英文(ascii 字符)。

F????Co?aR??m??E?3#?? = h\u00BD5j\u00B3\u00E0\u0096\u001D\u0081fe\u00BEo\b\u00A3\u0001\u00FE\u00A4\u00DE\u0000\u00FBi\"\u009C{\u00FC\u00D9\u00E2?c\u00F6\u00FF%B\u00A47\u00195\u001EXv\u0097/\u00D7x\u0099\u000E\u00A2gIX\u0014\u0097]k\u00882\u0003\u0014\u0097\u00BC\u00C3\u00AE\u00B4\u001E\u00B3R\u00E4\u00DE&\u0000\u0016\u009B\"7\u0085'\"\u00DCT*v'\u0092\u0007\u0091A\u00BD\u00ACl6~\u0097\u00C0\u00B1\u00D1\u00EB\u00FF\u00A8\u00F3\u0001'\u00BF\u0006\u001F\u009C\fk\u009F\u00C2\u00D9L^_\u0004J4\u00AF\u00D8\u00DAW\u00C4\u00CDj\u00E3\u0095\u00D1+\u00CE?\u0004>Z]\u00D7\u000B\u0098\u0016\u0095\u00AC\u00F7\u00E7\u009ATF\u0019\f)\u00A3\u00A9\u00DC\u00AD\u00ACtq5\u0085\u008E-\u00A3oH\u0000\u00C2\u0092\u00B5\u00F2\u008AG\u008F&\u00F5\u0017H\u0003!\u0083\u00B4\u008AV=\u00E0\u00EDj\u00F0\u00D0J\u00DB\u00CC\u00F2O\u00CE\u00BE\u00F0*4\u0006y~\u00C3\u00B7\"\u000B\u00E4\u00C0$>\u00F3\u00F2~\u00CE\u0097#\u00BAc\u00EC@\u00B4\u00AD\u009A\u00BAX\fF\u0083]\u00C2\u00D4\u00AB\u00F3\u009DQ\u0092\u00854z\u0097\u00FDG\t\u0095\u00E3}ty\u0082I\u00C3`\u009E ??

编辑:客户环境是日语。无论应用程序如何始终运行 -Dfile.encoding=UTF8

最佳答案

我怀疑您的客户的默认字符编码与您的不同。检查其属性 file.encoding 的设置(我知道,其命名违反直觉)。

另一种可能性是您有两个线程写入该属性文件。我不知道,但我怀疑 Apache 库默认情况下不是线程安全的。

关于java - Apache通用配置库: corrupted property file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10142201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com