zoukankan      html  css  js  c++  java
  • Java基础知识强化之IO流笔记61:输入流 和 输出流 使用总结

    1. 结构:

    字节流:InputStream,OutputStream

    字符流:Reader,Writer

    2. 字符流 和 字节流:

    (1)Reader:读取字符流的抽象类

     BufferedReader:将字符存入缓冲区,再读取

      LineNumberReader:带行号的字符缓冲输入流

    InputStreamReader:转换流,字节流和字符流的桥梁,多在编码的地方使用

      FileReader:读取字符文件的便捷类。

    (2)Writer:写入字符流的抽象类

    BufferedWriter:将字符存入缓冲区,再写入

    OutputStreamWriter:转换流,字节流和字符流的桥梁,多在编码的地方使用

      FileWriter:写入字符文件的便捷类。

    (3)InputStream:字节输入流的所有类的超类

    ByteArrayInputStream:含缓冲数组,读取内存中字节数组的数据,未涉及流

    FileInputStream:从文件中获取输入字节。媒体文件

      BufferedInputStream:带有缓冲区的字节输入流

      DataInputStream:数据输入流,读取基本数据类型的数据

    ObjectInputStream:用于读取对象的输入流

    PipedInputStream:管道流,线程间通信,与PipedOutputStream配合使用

    SequenceInputStream:合并流,将多个输入流逻辑串联。

    (4)OutputStream:此抽象类是表示输出字节流的所有类的超类

    ByteArrayOutputStream:含缓冲数组,将数据写入内存中的字节数组,未涉及流

    FileOutStream:文件输出流,将数据写入文件 

      BufferedOutputStream:带有缓冲区的字节输出流

      PrintStream:打印流,作为输出打印

      DataOutputStream:数据输出流,写入基本数据类型的数据

    ObjectOutputStream:用于写入对象的输出流

    PipedOutputStream:管道流,线程间通信,与PipedInputStream配合使用

    3. 流操作规律: 

    (1)明确数据源和目的:

      数据源:读取,InputStreamReader

      目的:写入,OutStreamWriter

    (2)数据是否是纯文本:

      :字符流,ReaderWriter

      :字节流,InputStreamOutStream

    (3)明确数据设备:

      源设备:内存、硬盘、键盘

      目的设备:内存、硬盘、控制台

    (4)是否提高效率:用BufferedXXX

  • 相关阅读:
    Elasticsearch通关
    Zookeeper是什么
    手把手带你了解消息中间件(1)——基础
    为什么要分库分表
    mysql的innodb 引擎 表锁与行锁
    MySQL中Innodb的聚簇索引和非聚簇索引
    Redis主从和集群
    redis防止抢购商品超卖
    Laravel 核心--Facades 门面
    PHP数据库操作:使用ORM
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4872146.html
Copyright © 2011-2022 走看看