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

  • 相关阅读:
    android中获取某段程序的执行时间
    图像位宽对齐
    使用 ssh 连接github的方法说明(gitub的官方说法)
    转:程序员必须知道的几个Git代码托管平台
    转:webRTC的前世今生
    Eclipse c++头文件问题(未完)
    [原创] NetBean开发c++程序指南1- 加入c++项目文件夹
    xshell5 启动显示 mfc110.dll msvcp110.dll 未找到问题 解决办法
    vmware12安装vmtools
    转: EclipseIDE开发 for C++
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4872146.html
Copyright © 2011-2022 走看看