idea编译器中maven项目获取路径的方法

时间:2022-05-22 13:36:32
资源文件放在哪里?

上 图中的 resources 目录叫资源目录 (main下,与java如果没有请自行创建), 在项目编译后文件会被放到红色的 classes 目录下, 注意如果你的 resources 目录没有上图的那个金色资源目录图标, 请再 idea 上右键该目录选择 Mark directory as - Resources Root, 这样, 在项目编译以后, 你的资源就会放到编译目录下.

如何获得这些文件?

当资源文件被编译到编译目录下以后, 我们可以通过 Class.getResource("/").getPath() 方法来获取编译目录的根目录, 也就是 target/classes 目录, 所以, 如果我们想要获取 times 文件应该怎么做? 如下:

Question1.class.getResource("/question1/times").getPath()

这个方法可以获取到 times 文件的路径, 之后使用这个路径读取文件即可

如何写入到编译目录?

我们可以先获取编译目录根目录, 再拼接需要的路径来得到目标文件的路径, 例如

String path = Question1.class.getResource("/").getPath() + "question1/ret.txt"

最终我们可以得到一个如下的路径:

/Users/xxx/Work/Projects/train/target/classes/question1/ret.txt

然后使用这个路径来写入文件即可