如何获取项目 /resources 文件夹中文件的绝对路径
假设标准 maven 设置。
假设在您的资源文件夹中您有一个文件 。abc
在Java中,我如何获得文件的绝对路径?
假设标准 maven 设置。
假设在您的资源文件夹中您有一个文件 。abc
在Java中,我如何获得文件的绝对路径?
实际工作的正确方式:
URL resource = YourClass.class.getResource("abc");
Paths.get(resource.toURI()).toFile();
现在,类路径中的文件物理位置并不重要,只要资源实际上是文件而不是 JAR 条目,就可以找到它。
(看似显而易见的并不适用于所有路径!该路径仍然是 URL 编码的!new File(resource.getPath())
可以使用方法来获取正确的资源。ClassLoader.getResource
URL res = getClass().getClassLoader().getResource("abc.txt");
File file = Paths.get(res.toURI()).toFile();
String absolutePath = file.getAbsolutePath();
或
虽然这可能不是一直有效的,但更简单的解决方案 -
您可以创建一个对象并使用方法:File
getAbsolutePath
File file = new File("resources/abc.txt");
String absolutePath = file.getAbsolutePath();