我的项目资源文件夹中存储了一个文件(“ hwc.bat”):“ project / res / HWC / hwc.bat”。

我正在从类“ /src/test/java/.../aTest.java”中编写代码

我希望能够检索文件hwc.bat的绝对路径,但是使用getResource对我不起作用。这是我一直在尝试的方法:

final URL resource = this.getClass().getClassLoader().getResource("hwc.bat");
absolutePath = Paths.get(resource.toURI()).toString();


我已经尝试了“ hwc.bat”的多种变体,包括“ /hwc.bat”或“ /res/HWC/hwc.bat”之类的东西,但是我似乎无法获得该URL,除了空值。

这是我的项目设置的图片,只是为了更好地了解文件的位置以及我要执行的操作/所有内容的上下文。

java - 如何检索存储在jar中的文件的绝对路径-LMLPHP

最佳答案

ClassLoader().getResource仅能找到类路径中包含的资源。对于hwc.bat的当前位置,情况并非如此。

由于您正在使用Maven项目,因此要放置文件的正确位置在src/main/resources中,以便通过ClassLoader.getResource("hwc.bat")找到它。

关于java - 如何检索存储在jar中的文件的绝对路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33288112/

10-10 18:35