Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从资源构建路径加载ResourceBundle?_Java_Gradle_Resourcebundle - Fatal编程技术网

Java 如何从资源构建路径加载ResourceBundle?

Java 如何从资源构建路径加载ResourceBundle?,java,gradle,resourcebundle,Java,Gradle,Resourcebundle,我有一个文件夹,其中包含一些要加载到ResourceBundle中的.properties文件。在我的代码中,我尝试传递资源文件夹的路径。但是,这不起作用,因为资源位于另一个构建路径中。为了澄清,我有两个“源代码集”,一个叫做java,另一个叫做resources。如果我将资源移动到主源文件夹中,它确实有效。但是,如果我可以将资源保存在resources文件夹中,并使用ResourceBundle.getBundle()加载它们,这将更有意义,但我一直无法使其工作。我想我需要在项目的类路径中包含

我有一个文件夹,其中包含一些要加载到ResourceBundle中的.properties文件。在我的代码中,我尝试传递资源文件夹的路径。但是,这不起作用,因为资源位于另一个构建路径中。为了澄清,我有两个“源代码集”,一个叫做java,另一个叫做resources。如果我将资源移动到主源文件夹中,它确实有效。但是,如果我可以将资源保存在resources文件夹中,并使用ResourceBundle.getBundle()加载它们,这将更有意义,但我一直无法使其工作。我想我需要在项目的类路径中包含resources文件夹,但我只是在猜测。这似乎是一个常见的用例,有人能提供一些帮助吗?

您可以使用java或您正在使用的任何“类加载器”

示例代码

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);
您可以使用java或您正在使用的任何“类加载器”

示例代码

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);