image.png
获取项目内资源文件
getResource(""); 返回的是URL对象,路径是当前Class这个类所在包的位置
getResource("/"); 返回的是URL对象,返回classpath路径
下例: 其中 Project为工程名
Project
src
action
test
demo.txt
FilePathTest.java
production
Project
src
action
test
demo.txt
FilePathTest.class
通过Class 在FilePathTest.java中获取资源:
this.getClass().getResource("/").getPath();
// .../production/Project/
this.getClass().getResource("").getPath;
// ../production/Project/src/test/
this.getClass().getResource("demo.txt").getPath();
// 获取当前class文件所在目录test下的 demo.txt 文件
this.getClass().getResource("/demo.txt").getPath();
// 获取classpath 下的 demo.txt, 即 查找../production/Project 下是否有 demo.txt
通过ClassLoader获取资源
this.getClass().getClassLoader().getResource("").getPath());
// 获取classpath, ../production/Project
this.getClass().getClassLoader().getResource("/").getPath());
// 报错
this.getClass().getClassLoader().getResource("/demo.txt").getPath();
// .../production/Project/src/test/demo.txt