我有一个要在我的项目中使用的文件,该文件位于资源包中
src.res
遵循 this answer 中所述,我相信我的代码是有效的。
File fil = new File("/res/t2.nii");
// Prints C:\\res\\t2.nii
System.out.println(fil.getAbsolutePath());
问题是我该文件在我的项目文件中不存在,所以我收到异常。
我该如何正确地将相对路径转换为绝对路径?
最佳答案
首先尝试使用目录,这将为您提供目录的绝对路径,然后使用 file.exists()
方法检查文件是否存在。
File fil = new File("res"); // no forward slash in the beginning
System.out.println(fil.getAbsolutePath()); // Absolute path of res folder
查找 File Path & Operations 的更多变体
<小时/>必须阅读 What Is a Path? (And Other File System Facts) 上的 Oracle Java 教程
A path is either relative or absolute.
绝对路径始终包含根元素和定位文件所需的完整目录列表。
例如,/res/images
是绝对路径。
相对路径需要与另一个路径组合才能访问文件。
例如,res/images
是相对路径。如果没有更多信息,程序就无法可靠地定位文件系统中的 res/images
目录。
关于java - java中相对于绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896840/