java中的字符串资源文件

时间:2012-02-01 09:39:15

标签: java internationalization nested-resources

使用Java编程,创建资源文件以更好的方式来保存应用程序的消息以不同的语言?

如果我使用属性文件,每次我需要的时候在代码中引用一条消息我必须写这样的东西:

ResourceBundle.getBundle("test.messages.messageFile").getString("Message1")

是否存在另一种表单来使用邮件并生成代码清理程序?也许创建一个带有静态常量的类来引用这些消息?

3 个答案:

答案 0 :(得分:0)

您可以使用ResourceBundle,但声明它并将其用作变量。

ResourceBundle languageBundle=ResourceBundle.getbundle("test.messages.messageFile");

//later in your code you can say

languageBundle.getString("Message1");

如果您创建此变量public static

,这将有所帮助

答案 1 :(得分:0)

这是标准方式。但没有什么能迫使你不将捆绑存储在一个字段中:

private ResourceBundle messages = ResourceBundle.getBundle("test.messages.messageFile");

...

String message1 = messages.getString("Message1");

您也可以将其封装到具有以下方法的Messages类中:

public String getMessage1() {
    return messages.getString("Message1");
}

这完全取决于你。

答案 2 :(得分:0)

您可以尝试Internationalization made easier

这是基于注释并为参数替换提供类型安全性。