我不知道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],我们将无法帮助您找到问题。 –