在没有 运行 的情况下,如何检查从 ResourceBundle 调用的字符串是否存在?
How do I check if strings called from a ResourceBundle exist without running?
我正在使用 ResourceBundle 从 MessagesBundle.properties 文件中获取字符串,但我想不出一种方法来检查以确保所有调用的字符串都存在(并且没有输入错误)实际上 运行 程序并查看异常。有没有工具可以让我检查一下?
您应该使用一个或多个 classes,其中属性文件的条目映射到 public 静态属性。
像这样,一切都在编译时检查,你以后避免 random/unexpected behavior/error.
public class Messages {
public static final String cancel = "cancel";
}
...
Locale locale = new Locale("en", "US");
ResourceBundle labels = ResourceBundle.getBundle("MyBundle", locale);
System.out.println(labels.getString(Messages.cancel));
...
出于测试目的,您可以迭代(通过反射)Messages
class 的属性并尝试从包中加载消息。
最后:
- 您可以识别 used/unused 封邮件
- 您可以检查每个提供的捆绑包中的每条消息
我正在使用 ResourceBundle 从 MessagesBundle.properties 文件中获取字符串,但我想不出一种方法来检查以确保所有调用的字符串都存在(并且没有输入错误)实际上 运行 程序并查看异常。有没有工具可以让我检查一下?
您应该使用一个或多个 classes,其中属性文件的条目映射到 public 静态属性。 像这样,一切都在编译时检查,你以后避免 random/unexpected behavior/error.
public class Messages {
public static final String cancel = "cancel";
}
...
Locale locale = new Locale("en", "US");
ResourceBundle labels = ResourceBundle.getBundle("MyBundle", locale);
System.out.println(labels.getString(Messages.cancel));
...
出于测试目的,您可以迭代(通过反射)Messages
class 的属性并尝试从包中加载消息。
最后:
- 您可以识别 used/unused 封邮件
- 您可以检查每个提供的捆绑包中的每条消息