欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[转] ListResourceBundle doesn't run inside package

程序员文章站 2022-04-01 17:29:08
...
原文地址:
[url]http://www.eclipse.org/forums/index.php/m/660152/[/url]

问题:使用 ResourceBundle.getBundle 时,提示“Can't find bundle for base name ...”?

原因:调用 ResourceBundle.getBundle 方法时,没有指定 package。

例如:如下代码无法访问到指定的文言:
package <package>;

import java.util.Locale;
import java.util.ResourceBundle;

public class SimpleListResourceBundleExample {
static public void main(String[] args) {
ResourceBundle stats = ResourceBundle.getBundle("StatsBundle", Locale.ENGLISH);
String source = (String) stats.getObject("Source");
System.out.println("Source = " + source);
}
}
package <package>;

import java.util.ListResourceBundle;

public class StatsBundle_en extends ListResourceBundle {
public Object[][] getContents() {
return contents;
}

private Object[][] contents = { { "Source", new String("StatsBundle_en.java") } };
}

解决办法:调用 ResourceBundle.getBundle 方法时,指定 package。所以上述代码需要改成:ResourceBundle.getBundle([b][color=red]"<packageName>.StatsBundle"[/color][/b],Locale.ENGLISH);