好吧..。所以我有一个相当有趣的错误...我声明了一个名为FileWriter的文件,并让它执行以下for循环:
for (int i = 0; i < a.radtot; i++) {
file.write("" + i * a.rstep);
for (int n = 0; n < a.timetot; n++) {
file.write("\t " + T[n][i]);
System.out.println(T[n][i] + " " + n + " " + i);
}
file.write("\n");
}最后,System.out.println命令打印出我期望的内容,但是文件在中途被截断了……就像在,而不是把System.out做的所有事情都打印出来...它停在中间。有没有人碰巧知道它为什么会这么做?我做错了什么吗?
发布于 2009-06-18 21:21:09
完成后,您需要在FileWriter上调用close()。这会强制将所有输出实际写入磁盘(否则可以将其留在缓冲区中)。
for (int i = 0; i < a.radtot; i++) {
file.write("" + i * a.rstep);
for (int n = 0; n < a.timetot; n++) {
file.write("\t " + T[n][i]);
System.out.println(T[n][i] + " " + n + " " + i);
}
file.write("\n");
}
file.close(); // <-- Add this(为了简单起见,我假设您省略了异常处理,所以我也是这样做的。close()通常位于finally块中,以确保其始终运行。)
发布于 2009-06-18 21:21:10
尝试添加:
file.close();close()方法描述是这样写的:
关闭流,首先刷新它。
https://stackoverflow.com/questions/1015234
复制相似问题