【问题标题】:How can I load a ResourceBundle from my resources build path?如何从我的资源构建路径加载 ResourceBundle?
【发布时间】:2016-05-21 03:21:21
【问题描述】:
我有一个文件夹,其中包含一些我想加载到 ResourceBundle 中的 .properties 文件。在我的代码中,我尝试传递资源文件夹的路径。但是,这不起作用,因为资源位于另一个构建路径中。澄清一下,我有两个“源集”,一个称为 java,另一个称为资源。如果我将资源移动到主源文件夹中,它确实有效。但是,如果我可以将资源保留在资源文件夹中并使用 ResourceBundle.getBundle() 加载它们会更有意义,但我无法使其工作。我想我需要在项目的类路径中包含资源文件夹,但我只是在猜测。这似乎是一个常见的用例,任何人都可以提供一些帮助吗?
【问题讨论】:
标签:
java
gradle
resourcebundle
【解决方案1】:
您可以使用来自 java 的 URLClassLoader 或您正在使用的任何“ClassLoader”。
示例代码
File file = new File("C:\\path\\myfile.ext");
URL[] urls = {file.toURI().toURL()};
ClassLoader loader = new URLClassLoader(urls);
ResourceBundle bundle = ResourceBundle.getBundle("english", Locale.getDefault(), loader);