java相对路径

标签 java relative-path

使用下面的代码片段抛出一个空指针异常,但我找不到原因:

String path = ResourcesLoader.class.getResource("src/i3d/resourcesloader/libraries/lib.txt").toString();

enter image description here

我使用的getResources 错了吗?我什至尝试输入完整路径,例如“D:\Workspace...”、双反斜杠、双正斜杠,但出现空指针异常。我唯一没有尝试过的是使用 java 的路径分隔符,但目前这应该不是问题,因为它在 Windows 上运行。我想念什么?

谢谢!

最佳答案

getResource searches via the classloader ,在类路径中如此典型和简化。 src 文件夹不在类路径中——它只存在于构建中。根据您的构建系统(ANT、Maven、IDE 内部),资源文件夹可能会合并到类路径中。您将资源直接放入源文件夹中,这也将起作用(如果构建过程将所有非 Java 资源复制到类输出文件夹,或者如果源文件夹用于生成类的输出)。

如果您使用绝对资源位置,

/ 是您的资源的根目录。它等同于 src 文件夹中的根 /i3d/resourcesloader/libraries/lib.txt 将是访问资源的正确方法。

将资源分离到由构建工具合并的单独文件夹中会更好(例如,在 Maven 中:/src/main/java/src/main/resources )。

关于java相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9466631/

相关文章:

java - 创建一个 concat 运算符将 char 数组添加到字符串中。打印字符串对象的引用变量

java - Lucene 按数值搜索

iphone - 如何在 Objective-C 中以编程方式检查目录是否存在于特定路径?

javascript - 如何编写指向目录的文件路径?

java - 获取查询<T>

Java:用整数替换字符串

java - Cuckoo Hashing Collisions 导致溢出

android - 如何以编程方式查找 USB 存储路径?

python - 如何在 python 中正确操作相对 URL?

php - 包含、要求和相对路径