我已經看到了這個問題之前,要求在這裏,但我沒有看到問題都在我的代碼:java.io.FileNotFoundException:Output.txt的(打開的文件太多)
public static void append(String text) {
try (FileWriter fileWriter = new FileWriter("Output.txt", true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
PrintWriter out = new PrintWriter(bufferedWriter);) {
out.println(text);
} catch (IOException e) {
e.printStackTrace();
}
}
由於我使用try-with-resources語句,打開的文件應該自動關閉。
我也試了一下老式的方式,但仍然拋出了同樣的錯誤:
public static void append(String text) {
try {
FileWriter fileWriter = new FileWriter("Output.txt", true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
PrintWriter out = new PrintWriter(bufferedWriter);
out.println(text);
out.close();
bufferedWriter.close();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
我不想增加打開文件的限制,因爲這個代碼不應該有超過1個文件反正隨時開放。沒有多線程在我的程序順便說一句。
你能告訴我們這段代碼是如何使用的嗎?問題在於你的fileWriter一次又一次地被創建 –
(1)你使用什麼操作系統? (2)在'append'之前打開了多少個文件(3)'old style code''finally finally' block – Dewfy
舊的方式使用'finally'塊關閉資源。你不嘗試做。 –