[英]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()
識別路徑,並且它確實返回true
。 我錯過了什么?
我假設你是從你的 IDE 運行這個?
IDE 將構建項目並將資源與已編譯的.class
文件一起復制到 output 目錄。 當修改這些資源中的任何一個時,復制的資源文件將被覆蓋,但源資源文件不會被覆蓋——我假設您現在正在查看這些資源,並且發現它們看起來仍然一樣。 此外,每次構建項目時,復制的資源文件都可能被覆蓋。
提示:output(打印)檢查您實際修改的文件的路徑。
如果您使用的是 maven,src/main/resources 中的文件將被復制到 output 文件夾 target/classes/test.txt。 打印您的文件路徑並查看您正在使用的實際路徑。
我的項目的資源文件夾中有一個文件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()
識別路徑,並且它確實返回true
。 我錯過了什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.