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(); }    //提供换行的操作

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容