java - ResourceBundle.getBundle ("ResourceFile", new Locale ("us", "US")) 在哪里寻找文件?

标签 java localization resourcebundle

我正在运行 Eclipse 并尝试创建一个简单的测试程序来尝试我们的 ResourceBundle 和几个不同的文件。该文件正确命名为 ResourceFile_us_US.properties。但是我在 getBundle() 调用中遇到异常,因为它显然找不到文件。它应该位于何处以便可以找到?

最佳答案

您知道 java 正在寻找特定语言环境中的属性文件。您可能会感到困惑,为什么 java 一直提示找不到就在那里的属性文件。调试此类错误时要牢记一些注意事项:

  1. 这些资源属性文件由类加载器加载,类似于java类。因此,您需要将它们包含在您的运行时类路径中。

  2. 这些资源具有完全限定资源名称,类似于完全限定类名称,摘录您无法将资源导入到您的 java 源文件中。为什么?因为它的名字采用字符串的形式。

  3. ResourceBundle.getBundle("config") 告诉类加载器使用默认包(即没有包)加载名为 "config" 的资源。它并不意味着当前包中的资源具有引用类。

  4. ResourceBundle.getBundle("com.cheng.scrap.config") 告诉类加载器使用包 加载名为 "config" 的资源“com.cheng.scrap.” 它的完全限定资源名称是 “com.cheng.scrap.config”

更多:Can't find bundle for base name com...config, locale zh_CN

干杯。

关于java - ResourceBundle.getBundle ("ResourceFile", new Locale ("us", "US")) 在哪里寻找文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344483/

相关文章:

java - NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE

asp.net - 隐式本地化、强类型资源、App_LocalResources 和嵌入式资源

iphone - 查找某个国家/地区的距离、货币、温度单位等 (iPhone)

ios - XCode 中的文件夹组织

java - 门户/portlets 编程 - portlet 链接/页面流

java - 这是一个有效的抽象类吗?

localization - xgettext 能否仅用于提取特定域字符串?

encoding - 类似于 IntelliJ IDEA 中的 Eclipse 资源包编辑器

java - 为什么 spring-boot 找不到消息包?

java - 如何通过缓冲完全并行化 Java8 流?