字节缓冲流读写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 @   小幼虫虫  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示