zoukankan      html  css  js  c++  java
  • Java学习第40天

    一、今日内容

    1.缓冲流

    缓冲流的原理是将数据先缓冲起来,然后一起写入或读取出来,使用缓冲流读写文件非常高效,常用的缓冲流有:BufferedReader、BufferedWriter、BufferedInputStream和BufferedOutputStream。

    BufferedInputStreamBufferedOutputStream这两个类分别是FilterInputStreamFilterOutputStream的子类,作为装饰器子类,使用它们可以防止每次读取/发送数据时进行实际的写操作,代表着使用缓冲区。

    (1)BufferedReader与BufferedWriter

    BufferedReade输入字符流,如果要想使用BufferedReade就需要将一个字节流变成字符流,所有,Java提供了以下两个转换类:

    • 将输入的字节流变为字符流:InputStreamReader

    • 将输出的字符流变为字节流:OutputStreamWriter

    在BufferedReader类中提供了专门的读取操作

    public String readLine() throws IOException

    示例:使用BufferedReader读取内容

     

    示例:使用BufferedWriter写数据

     (2)BufferedInputStream和BufferedOutputStream

    使用BufferedInputStream和BufferedOutputStream通常用来读取或写入影像数据,例如图片、影片等。

    • BufferedInputStream 是缓冲输入流。它继承于FilterInputStream

    • BufferedInputStream 的作用是为另一个输入流添加一些功能,例如,提供“缓冲功能”以及支持mark()标记reset()重置方法

    • BufferedInputStream 本质上是通过一个内部缓冲区数组实现的。例如,在新建某输入流对应的BufferedInputStream后,当我们通过read()读取输入流的数据时,BufferedInputStream会将该输入流的数据分批的填入到缓冲区中。每当缓冲区中的数据被读完之后,输入流会再次填充数据缓冲区;如此反复,直到我们读完输入流数据位置。

     二、问题

    暂无

    三、明日学习

    scanner类

  • 相关阅读:
    手机抓包
    基础数据-wiki
    Laravel异常日志
    用户设备、UA检测 相关
    yum安装的nginx新增模块http_image_filter_module笔记
    nginx 配置图片自动裁剪
    PHP中使用ffmpeg截取视频图片笔记
    采集乱七八糟记录下
    Laravel学习笔记之session使用
    html5 新增表单类型
  • 原文地址:https://www.cnblogs.com/zyljal/p/13504562.html
Copyright © 2011-2022 走看看