字节缓冲流读写BufferedInputStream/Buffered0utputStream

字节缓冲流读写BufferedInputStream/Buffered0utputStream

  • 提高IO效率,减少访问磁盘的次数;
  • 数据存储在缓冲区中,flush是将缓存区的内容写入文件中,也可以直接close。

BufferInputStream

字节缓冲流读取

package IO;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * 使用字节缓冲流读取
 *BufferInputStream
 * @author liu
 */
public class Demo03 {
    public static void main(String[] args) throws IOException {
//1.创建bufferedInputStream
        FileInputStream fis = new FileInputStream("G:\\\\工具.txt");
        BufferedInputStream bis = new BufferedInputStream(fis);
        //2读取
/*        int date = 0;
        while ((date = fis.read()) != -1) {
            System.out.print((char) date);
        }*/

        byte[] buf = new byte[1024];
        int count = 0;
        while ((count = bis.read(buf)) != -1) {
            System.out.println(new String(buf, 0, count));
        }
        //3关闭流
        bis.close();
    }
}

BufferedOutputStream

字节缓冲流写入文件

package IO.Demo03;

import java.io.BufferedOutputStream;

import java.io.FileOutputStream;
import java.io.IOException;


/**
 * 使用字节缓冲流写入文件
 *BufferedOutputStream
 * @author liu
 */
public class Demo02 {
    public static void main(String[] args) throws IOException {
        //1创建字节输出缓冲流
        FileOutputStream fos = new FileOutputStream("G:\\新建文本文档.txt");
        BufferedOutputStream bos = new BufferedOutputStream(fos);

        //2写入文件
        String world = "hello";
        for (int i = 0; i < 5; i++) {
            bos.write(world.getBytes());//写入8K缓冲区
            bos.flush();//刷新到硬盘
        }
        //3关闭流
        bos.close();
    }
}
posted @ 2022-03-09 18:31  小幼虫虫  阅读(71)  评论(0)    收藏  举报