063.JAVA输入输出_IO流的概述


博主的 Github 地址


1. IO 流(输入输出流)的概述

  • 这里使用的都是 java.io 包中的类.

  • IO 指的就是 Input/Output, 即输入和输出.
    IO 操作是相对的过程, 需要从程序角度进行分析.

1.1. IO 流的分类

  • IO 流的分类依据:

    • 根据数据单位划分: 字节流和字符流
    • 根据流向划分: 输入流和输出流
    • 根据功能划分: 节点流和包装流
  • IO 中的四大基流:

    • 字节输出流, 字节输入流, 字符输出流, 字符输入流.
    • 四大基流都是抽象类, 其它流都是继承于它们的.
      因此不能创建四大基流的对象, 只能创建其子类对象.
1.1.1. IO 流体系中常用流分类表
  • 注意:
    • 粗体字标出的类代表节点流, 必须直接与指定的物理节点关联;
    • 斜体字标出的类代表抽象基类, 无法直接创建实例, 只能创建其子类对象.
分类字节输入流字节输出流字符输入流字符输出流
抽象基类InputStreamOutputStreamReaderWriter
访问文件FileInputStreamFileOutputStreamFileReaderFileWriter
访问数组ByteArrayInputStreamByteArrayOutputStreamCharArrayReaderCharArrayWriter
访问管道PipedInputStreamPipedOutputStreamPipedReaderPipedWriter
访问字符串StringReaderStringWriter
缓冲流BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter
转换流InputStreamReaderOutputStreamWriter
对象流ObjectInputStreamObjectOutputStream
滤流(抽象类)FilterInputStreamFilterOutputStreamFilterReaderFilterWriter
打印流PrintStreamPrintWriter
推回输入流PushbackInputStreamPushbackReader
特殊流DataInputStreamDataOutputStream

1.2. IO 流常用操作

  • IO 流读取和写入操作:

    • 不论是字节流还是字符流, 都有 read() 方法来读取资源
    • 也有 write() 方法来写入资源
  • IO 流关闭资源:

    • 每个流中都会存在 close() 方法, 用来关闭资源.
    • 如果操作文件后没有关闭资源, 该文件会一直被程序所引用,
      就会导致它既不能删除, 也不能更改.

1.3. IO 流的操作模板

  • 创建源或目标对象:

    • 输入操作: 若要把文件内容输入到程序, 则文件是源
    • 输出操作: 若要把程序数据写入到文件, 则文件是目标
  • 创建 IO 流对象:

    • 输入操作: 创建输入流对象
    • 输出操作: 创建输出流对象
  • 执行 IO 操作:

    • 输入操作: 输入流对象的 read() 方法
    • 输出操作: 输出流对象的 write() 方法
  • 关闭资源:

    • 输入操作: 输入流对象的 close() 方法
    • 输出操作: 输出流对象的 close() 方法
    • 一旦资源对象关闭就不能继续使用流对象了, 否则会出现异常.

1.4. IO 流的详细树状图

  • 按照四大基流进行划分:
    pic
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值