我有一个使用 Maven 构建的 Java 应用程序。我有一个资源文件夹com/pkg/resources/...
我需要从中访问文件。例如directory.txt
。我一直在查看各种教程和其他答案,但似乎没有一个对我有用。现在我有:
ClassLoader classLoader = getClass.getClassLoader();
File file = new File(classLoader.getResource("/directory.txt");
当我输出时f.length
我得到的结果是 0 字节。我也尝试过:
InputStream is = (this.getClass().getClassLoader().getResourceAsStream("/directory.txt"));
try{
File file = File.createTempFile("dir", ".txt");
Files.copy(is, file.toPath());
} catch (IOException e) {
e.printStackTrace();
}
但该代码也不起作用。我以前没有使用过从 JAR 访问文件。关于可能出什么问题的任何想法吗?
如果maven没有在你的jar中包含资源文件夹,你可以使用以下代码将资源文件夹包含在jar中。 Maven 默认情况下搜索 src/main/java/resources 中的资源文件夹,如果您的资源不在该路径中,则 Maven 不会包含在类路径中。下面是在类路径中显式包含资源文件夹的代码。添加到您的 pom.xml
<build>
....
<resources>
<resource>
<directory>path-of-resource-folder</directory>
</resource>
</resources>
....
</build>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)