IO流——处理流

2021-02-17  本文已影响0人  DOB_8199

处理流之一:缓冲流

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

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

上一篇下一篇

猜你喜欢

热点阅读