Пример ResourceBundle не работает

1

Я пробую пример "Изучение Java" о RersourceBundles.

Я использую Windows 7 и NetBeans

Код выборки:

import java.util.*;
public class Hello {
    public static void main(String[] args) {
        ResourceBundle bun;
        bun = ResourceBundle.getBundle("Message", Locale.ITALY);
        System.out.println(bun.getString("HelloMessage"));
        bun = ResourceBundle.getBundle("Message", Locale.US);
        System.out.println(bun.getString("HelloMessage"));
    }
}

Если я запустил код, я получаю:

Исключение в потоке "main" java.util.MissingResourceException: Не удается найти пакет для базового имени Message, locale it_IT в java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499) в java.util.ResourceBundle.getBundleImpl(ResourceBundle. java: 1322) at java.util.ResourceBundle.getBundle(ResourceBundle.java:795) в процессе обученияjava4.Hello.main(Hello.java:14) Java Результат: 1

Даже если я написал и сохранил

import java.util.*;
public class Message_it_IT extends ListResourceBundle {
    public Object[][] getContents() {
        return contents;
    }
    static final Object[][] contents = {
        {"HelloMessage", "Buon giorno, world!"},
        {"OtherMessage", "Ciao."},
    };
}

У меня все еще была такая же ошибка. Файл Message_it_IT был сохранен в том же каталоге другого, что не так?

благодаря

  • 0
    Как называется ваш файл пакета ресурсов и где он находится?
  • 0
    Message_it_IT и сохраняется в том же каталоге другого класса. Решено сейчас, спасибо.
Теги:
resourcebundle

1 ответ

3
Лучший ответ

Трассировка стека показывает, что класс находится в пакете learningjava4. И вы говорите нам, что класс/файлы пакета находятся в одном пакете. Таким образом, базовое имя пакета - learningjava4.Message, а не Message.

  • 0
    Большое спасибо за быстрый ответ! Я понимаю главное, но не как реализовать решение. Где мне нужно заменить «Сообщение» на «learningjava4.Message» внутри текста с кавычками?
  • 0
    Решено сейчас! Большое спасибо. Решение было, как вы говорите, "bun = ResourceBundle.getBundle (" learningjava4.Message ", Locale.ITALY);"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню