我的资源文件夹中的文件未使用 try-with-resources 和 BufferedWriter 写入,为什么?

A file in my resources folder isn't getting written with try-with-resources and BufferedWriter, why?

我的项目的资源文件夹中有一个文件 test.txt,我正在尝试向其中写入一个字符串列表,每行一个(来自测试 class,如果重要的话)。
出于某种原因,尽管没有抛出或捕获异常,但我已经尝试了很多东西,但我无法写入它。例如:

Path p = Paths.get(ClassLoader.getSystemResource("test.txt").toURI());

try (BufferedWriter writer = Files.newBufferedWriter(p)) 
{
    for (String line : lines) writer.write(line);
} 
            
catch (IOException e) 
{
    e.printStackTrace();
}

Files.write(p, lines) 也不行。我很困惑,因为没有报告错误,但文件仍然是空的。我还确保使用 p.toFile().exists() 识别路径,并且确实 return true 。我错过了什么?

我假设你是 运行 这个来自你的 IDE?

IDE 将构建项目并将资源 连同编译的.class 文件复制到输出目录。 当修改这些资源中的任何一个时,复制的资源文件将被覆盖,但源资源文件不会被覆盖——我假设您现在正在查看这些资源,并且发现它们看起来仍然一样。 此外,每次构建项目时,复制的资源文件可能会被覆盖。

提示:输出(打印)路径以检查您实际修改的文件。

如果您使用 Maven,src/main/resources 中的文件将被复制到输出文件夹 target/classes/test.txt。打印您的文件路径并查看您正在使用的实际路径。