ResourceBundle 示例不起作用

fed*_*eka 3 java resourcebundle

我正在尝试“学习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"));
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我运行代码我得到:

线程“main”中的异常 java.util.MissingResourceException:找不到基名称消息的包,在 java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499) 处的 java.util.ResourceBundle.getBundleImpl(ResourceBundle. java:1322)在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."},
    };
}
Run Code Online (Sandbox Code Playgroud)

我仍然有同样的错误。文件 Message_it_IT 保存在另一个文件的同一目录中,出了什么问题?

谢谢

JB *_*zet 6

堆栈跟踪显示该类位于包中learningjava4。您告诉我们捆绑类/文件位于同一个包中。所以捆绑包的基本名称是learningjava4.Message, 不是Message