资源文件放在哪里?
上 图中的 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
然后使用这个路径来写入文件即可