我不知道FileWriter
發生了什麼,因爲它只寫出HTML部分,但是沒有任何來自String
數組content
。 content
存儲很多很長的String
s。是因爲Java的垃圾收集器嗎?FileWriter有什麼問題嗎?
我打印出content
,一切都在那裏,但FileWrter
沒有寫任何從content
到除HTML部分以外的文件。我在增強型for-loop中添加了System.out.println(k);
。 content
數組雖然不爲空。
public void writeHtml(String[] content) {
File file = new File("final.html");
try {
try (FileWriter Fw = new FileWriter(file)) {
Fw.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"
+ "<html>\n"
+ "<head>\n"
+ "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=us-ascii\">\n"
+ "<title>" + fileName +" for The Delinquent</title>\n"
+ "<style type = \"text/css\">\n"
+ "body {font-family: \"Times New Roman, serif\"; font-size: 14 or 18; text-align: justify;};\n"
+ "p { margin-left: 1%; margin-right: 1%; }\n"
+ "</style>\n"
+ "</head><body>");
for (String k : content) {
Fw.write(k+"\n");
}
Fw.write("</body></html>");
}
} catch (Exception e) {
e.printStackTrack();
}
}
的final.html的樣子運行該程序後:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<title>the_delinquent.txt for The Delinquent</title>
<style type = "text/css">
body {font-family: "Times New Roman, serif"; font-size: 14 or 18; text-
align: justify;};
p { margin-left: 1%; margin-right: 1%; }
</style>
</head><body>
</body></html>
我知道內容是不是空的,因爲我這樣做:
for (String k: content) {
System.out.println(k + "\n");
bw.write(k + "\n");
}
一切都打印出來。如此怪異:(
你是什麼意思的「除了HTML部分」?你能告訴我們目前的文件內容是怎麼樣的嗎?對於需要使用「\ n」的新行,請輸入 – developer
。 – Omore
請提供[mcve]。你應該總是假設*你的代碼有問題,而不是全世界數百萬開發人員使用的代碼。是的,「FileWriter」有可能存在一個錯誤,但這很可能是問題出在你的代碼中。如果沒有[mcve],我們將無法幫助您找到問題。 –