【问题标题】:First key from Language properties file not accessible无法访问语言属性文件中的第一个键
【发布时间】:2016-10-15 02:06:07
【问题描述】:

我有一个包含大约 3000 多个键的语言属性文件。当我尝试使用
ResourceBundle messages = ResourceBundle.getBundle("com.mt.asm.language.MessagesBundle", locale); 读取键的值时,我发现 messages 包中仅缺少第一个 key

我尝试使用以下方法检索值:
String value = new String(messages.getString(key).getBytes("ISO-8859-1") , "UTF-8");

我尝试了很多来确定根本原因,但我的尝试没有用。
这种奇怪行为的可能原因是什么。

【问题讨论】:

  • 请查看第一个键是否没有通过在下面某处为该键分配不同的值来覆盖
  • 您是否尝试删除除第一个(或任何其他)之外的所有键,看看发生了什么?
  • 第一个键没有重复项。即使我只保留 1 个密钥,它也不会加载到包中。
  • 如果复制第一个密钥你能得到它吗?我的意思是 key1=value1 key1=value1 key2=value2
  • 是的。这样可行。只有第一个密钥不可检索。

标签: java resourcebundle properties-file


【解决方案1】:

我能够找到问题的原因。

properties file 的格式为 UTF-8 BOM,而文件中应为 Byte Order Mark。这已通过使用UTF-8 格式的properties file 解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    相关资源
    最近更新 更多