实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。

 /*** 字符流 使用输入流读取一个文件内容到cpu中,然后使用输出流将内容写出到指定位置的外部文件中。 (使用输入输出流进行了文件的复制*/@Testvoid test02() {try {Reader isr = new FileReader("m:\\emp.txt");Writer osw = new FileWriter("m:\\emp\\emp001.txt", true);char[] b = new char[1024];int len = isr.read(b);while(len!=-1) {//打印到控制台System.out.println(new String(b));//字符无需指定编码格式osw.write(b, 0, len);len = isr.read();}osw.flush();if(isr!=null) {isr.close();}osw.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}

/**
        * flush() 方法是清空,即清空缓冲区数据,就是说
        * 你用读写流的时候,其实数据是先被读到了内存中,
        * 然后用数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,
        * 因为还有一部分有可能留在内存这个缓冲区中.这时候如果你调用了
        * close方法关闭了读写流,那么这部分数据就会丢失,
        * 所以应该再关闭读写流之前先flush(),显得清空数据.
        */
       //刷新就是将内存(缓冲区)中的数据(是一个字节数组)强制写到磁盘/浏览器/控制台/文件

使用字符流 必须刷新缓冲区 flush相关推荐

  1. JAVA SE学习day_06:字符流、异常处理

    一.字符流 java将流按照读写单位划分为字节流与字符流 字节流:超类为InputStream和OutputStream,读写单位为字节 字符流:超类为Reader和Writer,读写单位为cahr ...

  2. Java 常用IO流(字节流和字符流)详解

    一,简介及分类 IO流用来处理设备之间的数据传输:JAVA对数据的操作是通过流的方式:JAVA用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分为两种: 字节流 : 字节流 ...

  3. IO流(字节流和字符流)

    IO流的分类: 按照数据流向 站在内存角度 输入流 读入数据 输出流 写出数据 按照数据类型 字节流 可以读写任何类型的文件 比如音频 视频 文本文件 字符流 只能读写文本文件 1.字节输入流的继承体 ...

  4. IO流之字符流+便捷字符流+高效字符流

    一.字符流 1.字符流出现的原因 字符流出现的原因:由于字节流操作中文不是特别方便,常常需要根据编码方式选择每次读取的字节数,所以,java就提供了字符流.字符流:字节流 + 编码方式.字符流只能操作 ...

  5. 字节流与字符流的区别(good!)

    字节流与字符流的区别 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了 ...

  6. java字符流实际上也是字节,[Java教程]Java字节流与字符流的区别

    [Java教程]Java字节流与字符流的区别 0 2017-05-22 12:00:42 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身 ...

  7. Java I/O之字节流与字符流的区别

    字节流与字符流的区别: 上图解析: 字节输出流是直接把字节数据写出到磁盘或其他设备上,而字符输出流会先把字符输出流按一定的编码规则进行编码成二进制的字节输出流再写出到磁盘或其他设备上. 字节输入流每次 ...

  8. Java中字节流和字符流的比较(转)

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操 ...

  9. java 字节流 区别_java字节流字符流区别-嗨客网

    Java字节流与字符流区别 Java字节流与字符流区别教程 我们在 实际上字节流在对文件操作的时候,不会用到缓冲区(内存),对文件本身直接操作而字符流在对文件操作的时候用到了缓冲区,通过缓冲区来对文件 ...

最新文章

  1. session:的生命周期
  2. The application could not be verified
  3. mysql 基于语句的复制_MySQL 复制 - 性能与扩展性的基石 1:概述及其原理
  4. jquery中阻止事件冒泡的方法
  5. 专业英语笔记:Spring框架
  6. Python自己写模块提供调用
  7. ZoomIn插件制作(VS2010 + arcObject10.2 )全网应该是唯一的
  8. 上计算机课睡觉检讨书400,小学生上自习课睡觉检讨书
  9. python之定制多种彩虹色爱心
  10. matlab6.5版本和matlab7版本以上的区别
  11. Ubuntu之最好用程序员计算器:qalculate
  12. 基于Android的防疫信息管理系统源码【包调试运行】
  13. 【AI案例实践】基于深度学习的超分辨率技术
  14. 新增电子信息专硕,中外合作办学!南京信息工程大学
  15. C++ STL使用实例
  16. 医学图像分析中的光密度参数
  17. ZigBee 3.0 Z-Stack 3.01 终端设备入网过程全解析
  18. 数据结构 - 图的基本操作 深度和广度遍历
  19. Cartesi 介绍
  20. 2019年福州大学计算机专业录取分,2019年福州大学艺术类专业录取分数线

热门文章

  1. 中移动终端评测最新排名出炉:HUAWEI nova 青春版三项霸榜
  2. 中英文免安装版IE6、IE7、IE8浏览器下载
  3. 排序算法之快速排序实现及算法思想
  4. rstudio的数据集怎么建立和保存_在R Studio中保存
  5. Welearn的cookie值怎么获取?
  6. 破解无线网络密码-BT3如何使用1
  7. ARM指令寻址方式及RealView MDK开发环境ARM汇编程序实践
  8. LCD中如何描绘点阵数据
  9. 淮南师范学院计算机组成原理试卷,淮南师范学院2008-2009学年度第一学期电机及拖动试卷(2份,有答案)...
  10. 英语练习day2 一般,否定疑问句,现表将来