最近写些小的 java 项目先用 resources 目录来存放一些资源文件,有些是正式环境的资源如 log4j 等配置,有些是junit测试环境,比如测试用的图片资源等。
如下以测试环境为例,进行说明。
[坑位说明]
正常情况下,本人默认会认为 resources 目录默认为资源目录,目录结构如下图:
项目目录结构
因此使用如下代码进行默认访问:
File file = new File("1.png");
...
但这时候不能正常访问到该文件,因此只能另寻它法。
[坑位分析]
因此尝试了
// 下面位置在 D:\workspace\project1\out\test\classes
File file = new File(MainTest.class.getResource("/").getPath());
// 下面位置在 D:\workspace\project1\out\test\classes
File file1 = new File(MainTest.class.getClassLoader().getResource(".").getPath());
// 下面位置为空
File file2 = new File(MainTest.class.getClassLoader().getResource("/").getPath());
// 下面位置在 D:\workspa