在java的IO体系中,写文件通常会用到下面语句

BufferedWriter bw=new BufferedWriter(new FileWriter("sql语句.txt"));

用到这个的时候一定不能忘了他的伴侣代码。。

bw.close();

或者

bw.flush();

实际上,FileWriter在写文件时,会把内容存储到一块缓冲区中,当缓冲区满后,才会把缓冲区中的内容写入文件,内容再继续存到缓冲区,如此反复,而flush()会将内存中的内容强制写到文件中,即使内存没满。这就是为什么最后要调用一次fileWriter.close(),close()方法里面调用了flush(),这样就可以了。否则就会最后有少部分的内容缺失。特别是写小文件的时候,会出现文件空白,没有内容。
这个问题很常见,值得注意。

重源代码中可以看出,flush()中自动调用了close()

    public void close() throws IOException {
try {
flush();
} catch (IOException ignored) {
}
out.close();
}

  

java写文件时,输出不完整的原因以及解决方法close()或flush()的更多相关文章

  1. java写文件时,输出不完整的原因以及解决方法

    在java的IO体系中,写文件通常会用到下面语句 BufferedWriter bo=new BufferedWriter(new FileWriter("sql语句.txt")) ...

  2. java写文件时往末尾追加文件(而不是覆盖原文件),的两种方法总结

    代码如下: import java.io.FileWriter; import java.io.IOException; import java.io.RandomAccessFile; public ...

  3. js关于对象键值为数字型时输出的对象自动排序问题的解决方法

    一.对象键值为数字型时输出的对象自动排序问题如: var objs = {    "1603":{id:"1603"},    "1702" ...

  4. vc6.0创建文件时,出现很多烫烫烫解决方法

    vc6.0创建文件时,出现很多烫烫烫烫解决方法 SWM2烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫.IA 如果项目文件放在桌面上 如:C:\Documents and Settings\txwtec ...

  5. SQL SERVER 2008R2 执行大脚本文件时,管理工具提示“内存不足”的解决方法

    项目需求:当我把服务器上的数据库导出为SQL脚本时,在本地新建数据库,再导入执行SQL文件时报错,因为SQL文件过大,导致出现如下报错 如下图所示: ========================= ...

  6. Mysql并发时经典常见的死锁原因及解决方法

    1.    mysql都有什么锁 MySQL有三种锁的级别:页级.表级.行级. 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁 ...

  7. MySQL学习笔记(五)并发时经典常见的死锁原因及解决方法

    MySQL都有什么锁? MySQL有三种锁的级别:页级.表级.行级. 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒度 ...

  8. jqprint导入jqgrid表格时,内容溢出的原因以及解决方法

    jqprint在导入表格的时候,会将原表格的样式全部拉过来,所以说原表格(如jqgrid的表格)的内容在有滚动条的时候,必须得将宽度设置为100%(等百分比的宽度),不能设置成固定宽度,不然表格内容会 ...

  9. layui表单提交使用form.on('submit(sub)',function (){}) 使用ajax请求时回调不执行的原因及解决方法

    ayui使用官方的表单模块form.on('submit(sub)',function (){}) 提交,使用ajax请求向后台请求一个执行结果,根据结果进行处理,出现回调无法执行,并且页面出现了刷新 ...

随机推荐

  1. Intent的几种Flag的不同

    冬天有点冷,不想写博客. 研究下Intent的几种Flag的不同: 1,FLAG_ACTIVITY_CLEAR_TOP:会清理掉目标activity栈上面所有的activity Intent inte ...

  2. Spring第三天

    Spring第三天 整体课程安排(3天+2天): 第一天:Spring框架入门.IoC控制反转的配置管理.Spring Web集成.Spring Junit集成. 第二天:Spring AOP面向切面 ...

  3. 第18天 ajax技术和javascript加强(json)

    第18天    ajax技术和javascript加强(json) 复习: B/S架构实现文件上传的思路? 使用a标签实现文件下载功能,有什么问题? 使用Servlet实现文件下载的思路? 今日任务 ...

  4. hadoop中,combine、partition、shuffle作用分别是什么?

    combine和partition都是函数,中间的步骤应该只有shuffle! combine分为map端和reduce端,作用是把同一个key的键值对合并在一起,可以自定义的.combine函数把一 ...

  5. transform translate transition 的区别

    transform是变形,下面有translate transform: rotate旋转/scale缩放/skew扭曲/translate移动/matrix矩阵变形transform连写:rotat ...

  6. em,strong,b,i的区别

    文章来源: http://www.zhihu.com/question/19551271 默认样式: strong=b=粗体 em=i=斜体   HTML4.01: strong,em代表语义,从语义 ...

  7. ggplot2 geom相关设置—点重合处理(jitter)

    在R中散点图的时候会经常出现,点重合比较严重的现象,这对我们寻找数据规律或者观察数据有很大的干扰. 所幸的是R中,可以用geom_jitter()函数来调整,消除点的重合. geom_jitter(m ...

  8. 2DToolkit官方文档中文版打地鼠教程

    初始设置 创建一个Unity项目,并导入2D Toolkit插件. 导入完成后,在Project窗口会显示TK2DROOT文件夹(后续版本文件夹名称或许会有变动). 导入素材游戏,你可以从这里下载.下 ...

  9. luci编译错误

    make[3]: Entering directory '/home/hbg/test1214/package/feeds/luci/luci'*** Repository layout change ...

  10. asp.net接收发送的xml字符串数据

    最近研究为新的接口,发现发送的消息的格式为xml类型.之前接口接触的多是接收json类型的数据,可以直接通过Request["Key"]/Request.QueryString[& ...