我的项目资源文件夹中存储了一个文件(“ 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,除了空值。
这是我的项目设置的图片,只是为了更好地了解文件的位置以及我要执行的操作/所有内容的上下文。
最佳答案
ClassLoader().getResource
仅能找到类路径中包含的资源。对于hwc.bat
的当前位置,情况并非如此。
由于您正在使用Maven项目,因此要放置文件的正确位置在src/main/resources
中,以便通过ClassLoader.getResource("hwc.bat")
找到它。
关于java - 如何检索存储在jar中的文件的绝对路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33288112/