再美不及姑娘你
又见西风上碧树
posts - 135,comments - 7,views - 48036

字节缓冲流

1.BufferedOutputStream:该类实现缓冲输出流,通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用

2.BufferedInputStream:创建BufferedIntputStream将创建一个内部缓冲区数组,当从流中读取或者跳过字节时,内部缓冲去将根据需要从所包含的输入流中重新填充,一次很多字节

构造方法:

字节缓冲输出流:BufferedOutputStream(OutputStream out):创建一个新的缓冲输出流,以将数据写入指定的底层输出流。

字节缓冲输入流:BufferedInputStream(InputStream in):创建一个 BufferedInputStream并保存其参数,输入流 in供以后使用。

为什么构造方法需要的时字节流而不是具体的文件名或者路径?

因为字节缓冲流仅仅提供缓冲区,而真正的读写数据还得依靠基本的字节流对象进行操作

public class Demo04 {
  public static void main(String[] args) throws IOException {
      //创建字节缓冲输出流
      BufferedOutputStream bops=new BufferedOutputStream(new FileOutputStream("E:\\abc.txt"));
      //创建字节缓冲输入流
      BufferedInputStream bips=new BufferedInputStream(new FileInputStream("E:\\abc.txt"));
      //写数据
      bops.write("hello\r\n".getBytes());
      bops.write("world\r\n".getBytes());
      bops.close();
      //读数据,方式一
      int by;
      while((by=bips.read())!=-1){
          System.out.print((char)by);
      }

      System.out.println("------------------------------------------------");
      //方式二 一次读取一个字节数组
      byte[]bytes=new byte[1024];
      int len;
      while((len=bips.read(bytes))!=-1){
          System.out.print(new String(bytes,0,len));
      }
      bips.close();
  }
}

 

posted on   再美不及姑娘你  阅读(223)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示