• 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类

  • 相关阅读:
    HashMap深度解析(二)(转)
    HashMap深度解析(一)(转)
    GeoHash核心原理解析(转)
    spring boot 策略模式实践
    Java中CAS详解(转)
    springMVC请求流程详解(转)
    7 vi 编辑器
    Linux 命令行快捷键
    Java
    3 Eclipse 查看不了源码
  • 原文地址:https://www.cnblogs.com/zyljal/p/13504562.html
Copyright © 2020-2023  润新知