首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java FileWriter帮助

Java FileWriter帮助
EN

Stack Overflow用户
提问于 2009-06-18 21:19:49
回答 2查看 1.7K关注 0票数 0

好吧..。所以我有一个相当有趣的错误...我声明了一个名为FileWriter的文件,并让它执行以下for循环:

代码语言:javascript
复制
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做的所有事情都打印出来...它停在中间。有没有人碰巧知道它为什么会这么做?我做错了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-06-18 21:21:09

完成后,您需要在FileWriter上调用close()。这会强制将所有输出实际写入磁盘(否则可以将其留在缓冲区中)。

代码语言:javascript
复制
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块中,以确保其始终运行。)

票数 5
EN

Stack Overflow用户

发布于 2009-06-18 21:21:10

尝试添加:

代码语言:javascript
复制
file.close();

close()方法描述是这样写的:

关闭流,首先刷新它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1015234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档