2016-06-14 4 views
0

У меня есть файл с языковыми параметрами, содержащий около 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");

Я пробовал много, чтобы определить причину, но мои попытки были не нужны.
Что может быть причиной этого странного поведения.

+0

Пожалуйста, проверьте, не перекрывается ли первый ключ, назначив другое значение этому ключу где-то ниже. – Sanjeev

+0

Вы пытались удалить все ключи, кроме первого (или любого другого), и посмотреть, что произошло? –

+0

Для первого ключа нет дубликатов. Даже если я сохраняю только 1 ключ, это не загружается в комплект. –

ответ

0

Я смог найти причину проблемы.

properties file был в UTF-8 BOM формате, который ожидал Byte Order Mark в файл. Это было разрешено с использованием properties file в формате UTF-8.