我的项目结构有点如下: /src/main/java Main.java /src/main/resources data.txt
现在,在 Main.java 中,我有类似的内容:
ClassLoader classLoader = new TestMain().getClass().getClassLoader();
String url = classLoader.getResource("data.txt").toString();
File file =new File(url.split(":")[1]);
//check if file exists, and reads current content:
System.out.println("File exists: " + file.exists());
System.out.println(IOUtils.toString(new FileInputStream(file)));
//Now write some more data to this file:
FileWriter fileWritter = new FileWriter(file,true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write("some more text");
bufferWritter.close();
现在上面的运行正常......并且,在每次迭代中,当我们读取文件时,我们可以看到实际上,额外的文本被附加到文件中。
但是:当我查看 /src/main/resource 中的文件时,我看不到任何更改。更重要的是,如果我更改/更新这个文件,那么所有以前的修改都会被删除。
因此,我的问题是:如果我有一个想要存储在类路径中的文件,例如 data.txt,并且我想要对文件进行持续更改,我该如何组织我的代码库来执行此操作,和/或我需要在我的代码中进行哪些更改才能完成此操作?