【问题标题】:ResourceBundle example not workingResourceBundle 示例不起作用
【发布时间】:2014-08-29 02:52:44
【问题描述】:

我正在尝试有关 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"));
    }
}

如果我运行我得到的代码:

线程“主”java.util.MissingResourceException 中的异常:不能 查找基本名称消息的捆绑包,语言环境 it_IT 位于 java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499) 在 java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322) 在 java.util.ResourceBundle.getBundle(ResourceBundle.java:795) 在 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 保存在另一个的同一目录下,有什么问题?

谢谢

【问题讨论】:

  • 你的资源包文件的名字是什么,放在哪里?
  • Message_it_IT 并保存在其他类的同一目录中。现在解决了,谢谢。

标签: java resourcebundle


【解决方案1】:

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

【讨论】:

  • 非常感谢您的快速答复!我了解主要内容,但不了解如何实施解决方案。在带引号的文本中,我需要在哪里将“Message”替换为“learningjava4.Message”?
  • 现在解决了!非常感谢。解决方案就像你说的“bun = ResourceBundle.getBundle("learningjava4.Message", Locale.ITALY);"
猜你喜欢
  • 2017-04-29
  • 2012-07-05
  • 2013-12-04
  • 2016-08-31
  • 2016-02-25
  • 2015-01-23
  • 2017-09-11
  • 1970-01-01
  • 2011-11-13
相关资源
最近更新 更多