Java ResourceBundle.getBundle(";ResourceFile";,new Locale(";us";,";us";)在哪里查找该文件?
我正在运行Eclipse,并尝试创建一个简单的测试程序,使用两个不同的文件尝试我们的ResourceBundle。该文件正确命名为ResourceFile\u us\u us.properties。但是我在getBundle()调用中遇到一个异常,因为它显然找不到文件。它应该放在哪里才能找到?我相信它只是在类路径中查找。您知道java正在特定区域中查找属性文件。您可能会感到困惑,为什么java一直在抱怨它找不到就在那里的属性文件。调试此类错误时要记住以下几点:Java ResourceBundle.getBundle(";ResourceFile";,new Locale(";us";,";us";)在哪里查找该文件?,java,localization,resourcebundle,Java,Localization,Resourcebundle,我正在运行Eclipse,并尝试创建一个简单的测试程序,使用两个不同的文件尝试我们的ResourceBundle。该文件正确命名为ResourceFile\u us\u us.properties。但是我在getBundle()调用中遇到一个异常,因为它显然找不到文件。它应该放在哪里才能找到?我相信它只是在类路径中查找。您知道java正在特定区域中查找属性文件。您可能会感到困惑,为什么java一直在抱怨它找不到就在那里的属性文件。调试此类错误时要记住以下几点: 这些资源属性文件由类加载器加载,类
ResourceBundle.getBundle(“config”)
告诉类加载器加载名为“config”
的带有默认包(即没有包)的资源。它并不意味着当前包中具有引用类的资源ResourceBundle.getBundle(“com.cheng.scrape.config”)
告诉类加载器加载名为“config”
的资源和包“com.cheng.scrape.config”。
其完全限定的资源名为“com.cheng.scrape.config”
如果您创建一个包
resources
并将文件hello\u en\u US.properties
其内部包含以下内容:
你好=你好,世界
您可以使用以下代码打印hello的内容:
package localization;
import java.util.Locale;
import java.util.ResourceBundle;
public class ResourceBundleDemo {
public static void main(String[] args) {
Locale en_US = new Locale("en", "US");
ResourceBundle bundle = ResourceBundle.getBundle("resources.hello", en_US);
// print the value of the key "hello"
System.out.println("" + bundle.getString("hello"));
}
}