我正在尝试关于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文件保存在另一个目录的同一目录下,出了什么问题?
由于
答案 0 :(得分:4)
堆栈跟踪显示该类位于包learningjava4
中。而且你告诉我们捆绑类/文件在同一个包中。因此,包基名称为learningjava4.Message
,而不是Message
。