java - 尝试将 .properties 文件加载到资源包中,出现错误“找不到基本名称的包”
问题描述
我正在尝试将.properties
文件加载到我的ResourceBundle
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception{
ResourceBundle bundle = ResourceBundle.getBundle("/sample/resources/language_en.properties");
FXMLLoader loader = new FXMLLoader(getClass().getResource("/sample/layout/test_form.fxml"), bundle);
}
}
但我得到了错误:
Caused by: java.util.MissingResourceException: Can't find bundle for base name /sample/resources/language_en.properties, locale en_US
想不通为什么。我已经多次检查路径/sample/resources/language_en.properties
是否存在拼写错误。我也尝试过重建项目(使用 IntelliJ)。
有谁知道为什么?
解决方案
该方法ResourceBundle.getBundle()
采用资源包的基本名称,一个完全限定的类名(由类文档指定)。你可以像这样加载你的包:
// this will load the base bundle: sample/resources/language.properties
ResourceBundle bundle = ResourceBundle.getBundle("sample.resources.language");
要使用英文ResourceBundle
,您可以指定Locale
:
// this will load sample/resources/language_en.properties
ResourceBundle bundle = ResourceBundle.getBundle("sample.resources.language", Locale.ENGLISH);
请参阅本教程以获取更多信息:自定义资源包加载
推荐阅读
- spring-mvc - Spring Boot 2.1.0 @Controller 不工作?
- django - django 频道不会断开连接
- bash - SHELL 在特定变量的开头和结尾添加双引号
- charts - 网格线仅在散点的数据点上
- excel - 尝试从网页中使用 vba 搜索地点的纬度和经度。单击vba的查找按钮不起作用
- objective-c - NSCFBoolean 和 NSNumber 发生了什么?
- python - 如何为 Pandas 小时/工作日图设置两级刻度?
- java - 序列化和静态变量
- c# - WPF将项目添加到BindingList不会更新Viewmodel中的另一个属性
- java - Java Swing 类对象