IO流——处理流

处理流之一:缓冲流

处理流,就是“套接”在已有的流的基础上。


1. 缓冲流

BufferedInputStream

BufferedOutputStream

BufferedReader

BufferedWriter


2.作用

提高读写速度的原因:内部提供了一个缓冲区


3.使用

用 BufferedInputStream 拿复制举例


1)造文件

            File srcFile =new File("爱情与友情.jpg");

            File destFile =new File("爱情与友情3.jpg");


2)造流

    2.1 造节点流

            FileInputStream fis =new FileInputStream((srcFile));

            FileOutputStream fos =new FileOutputStream(destFile);

    2.2 造缓冲流

            bis =new BufferedInputStream(fis);

            bos =new BufferedOutputStream(fos);

3)复制的细节:读取、写入

            byte[] buffer =new byte[10];

            int len;

            while((len = bis.read(buffer)) != -1){

                bos.write(buffer,0,len);

                // bos.flush();    // 手动刷新缓冲区(系统会自动刷新缓冲区)

            }

4)资源关闭

要求:先关闭外层的流,再关闭内层的流

    4.1关闭外层:

            if(bos !=null){

                bos.close();}

            if(bis !=null){

                bis.close();}

    4.2关闭内层:

        fos.close();

        fis.close();


说明

1. 关闭外层流的同时,内层流也会自动的进行关闭。关于内层流的关闭,我们可以省略.


2. 若使用BufferedReader和BufferedWriter实现文本文件的复制,可使用String去代替使用char[]数组

            String data;

            while((data = br.readLine()) !=null){

                  bw.write(data + "\n");    //data中不包含换行符

                换行的方式二:

                  bw.write(data);    //data中不包含换行符

                  bw.newLine(); }    //提供换行的操作

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、File类的使用 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关。 File 能新建...
    不差不多阅读 1,677评论 0 0
  • # 3.1 File # ## 3.1.1 File基本概念 ## 1.基本概念 -File类用于表示文件(目录)...
    闫子扬阅读 3,372评论 0 0
  • 目录 [TOC] 第一章:IO介绍 1.1 什么是IO ​ 生活中,你肯定经历过这样的场景。当你编辑一个文本文...
    雷哒哒阅读 2,144评论 0 1
  • FileInputStream : 输入流 int available() : 一次读取所有的字节数 read()...
    小小一技术驿站阅读 1,683评论 0 0
  • 1 IO(二)No19 【 缓冲流:内置了缓冲区,对现有的流对象进行了封装,实现了高效的读写操作并增强了功能 ...
    征程_Journey阅读 4,019评论 0 1