ResourceBundle示例不起作用

时间:2014-07-08 11:28:39

标签: java resourcebundle

我正在尝试关于RersourceBundles的“学习Java”的例子。

我正在使用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:不能   找到基本名称的包,消息,语言环境it_IT at   java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)     at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)     在java.util.ResourceBundle.getBundle(ResourceBundle.java:795)at   learningjava4.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文件保存在另一个目录的同一目录下,出了什么问题?

由于

1 个答案:

答案 0 :(得分:4)

堆栈跟踪显示该类位于包learningjava4中。而且你告诉我们捆绑类/文件在同一个包中。因此,包基名称为learningjava4.Message,而不是Message