JavaAPI笔记(五)——3. IO字节流

JavaApi笔记(五)——IO流篇

一、字节流关系图

在这里插入图片描述

二、输入字节流

  1. InputStream类(抽象类
    在这里插入图片描述
    这个抽象类是表示输入字节流的所有类的超类。

方法表:
在这里插入图片描述

  1. AudioInputStream类(InputStream类直接子类)
    在这里插入图片描述
    音频输入流是具有指定音频格式和长度的输入流。 长度以采样帧而不是字节表示。 提供了几种从流中读取一定数量字节的方法。音频输入流可以支持标记。 设置标记时,会记住当前的位置,以便以后可以返回

数据域表:
在这里插入图片描述
构造函数:
在这里插入图片描述

方法表:
在这里插入图片描述

  1. ByteArrayInputStream类(InputStream类直接子类)
    在这里插入图片描述
    A ByteArrayInputStream包含一个内部缓冲区,其中包含可以从流中读取的字节。 内部计数器跟踪read方法要提供的下一个字节。

  2. FileInputStream类(InputStream类直接子类)
    在这里插入图片描述
    FileInputStream从文件系统中的文件获取输入字节。 什么文件可用取决于主机环境。
    FileInputStream用于读取诸如图像数据的原始字节流。 要阅读字符串,请考虑使用FileReader 。

  3. FilterInputStream类(InputStream类直接子类)
    在这里插入图片描述
    FilterInputStream包含一些其他输入流,它用作其基本的数据源,可能会沿途转换数据或提供附加功能。

子类表(省略extends FilterInputStream)

序号子类定义作用
1public class BufferedInputStream当创建BufferedInputStream时,将创建一个内部缓冲区数组。 当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次有多个字节。
2public class CheckedInputStream带校验和的字节流
3public class CipherInputStream由InputStream和Cipher组成,read()方法返回从InputStream读入经过Cipher额外处理的数据。
Cipher类提供加密和解密的加密密码的功能。 它构成了Java加密扩展(JCE)框架的核心。
4public class DataInputStream数据输入流允许应用程序以独立于机器的方式从底层输入流读取原始Java数据类型。 应用程序使用数据输出流来写入稍后可以被数据输入流读取的数据。
5public class DeflaterInputStream实现用于压缩“deflater”压缩格式的数据的输入流过滤器。
6public class DigestInputStream通过流经输入流中的位来更新相关联消息的摘要的一种透明流
7public class InflaterInputStream该类实现了一个流过滤器,用于以“deflate”压缩格式解压缩数据。 它也被用作其他j解压滤波器的基础,如GZIPInputStream。
8public class LineNumberInputStream已弃用。一个输入流过滤器,它提供跟踪当前行号的附加功能。
9public class ProgressMonitorInputStream监视从一些InputStream读取进度
10public class PushbackInputStream可以“push back”或“unread”一个字节或字节数组的字节输入流,主要通过其unread方法
  1. ObjectInputStream类(InputStream类直接子类)
    在这里插入图片描述
    ObjectInputStream反序列化先前使用ObjectOutputStream编写的原始数据和对象。

  2. PipedInputStream(InputStream类直接子类)
    在这里插入图片描述
    管道输入流应连接到管道输出流; 管道输入流然后提供写入管道输出流的任何数据字节。

  3. SequenceInputStream类(InputStream类直接子类)
    在这里插入图片描述
    它从一个有序的输入流集合开始,从第一个读取到文件的结尾,然后从第二个文件读取,依此类推,直到最后一个输入流达到文件的结尾。
    在这里插入图片描述

  4. StringBufferInputStream类(已弃用,InputStream类直接子类)

该类允许应用程序创建一个输入流,其中读取的字节由字符串的内容提供。

三、输出字节流

  1. OutputStream类(抽象类
    在这里插入图片描述
    字节输出流的所有类的超类。 输出流接收输出字节并将其发送到某个接收器

  2. ByteArrayOutputStream类(OutputStream类直接子类)
    在这里插入图片描述
    该类实现了将数据写入字节数组的输出流。 当数据写入缓冲区时,缓冲区会自动增长。

  3. FilterOutputStream类(OutputStream类直接子类)
    在这里插入图片描述
    文件输出流是用于将数据写入到输出流File或一个FileDescriptor 。 文件是否可用或可能被创建取决于底层平台。 特别是某些平台允许一次只能打开一个文件来写入一个FileOutputStream (或其他文件写入对象)。

  4. FilterOutputStream类(OutputStream类直接子类)
    在这里插入图片描述
    子类表

序号方法声明功能描述
1BufferedOutputStream用法类似BufferedInputStream
2CheckedOutputStream用法类似CheckedInputStream
3CipherOutputStream用法类似CipherInputStream
4DataOutputStream用法类似DataInputStream
5DeflaterOutputStream用法类似DeflaterInputStream
6DigestOutputStream用法类似DigestInputStream
7InflaterOutputStream用法类似InflaterInputStream
8PrintStreamPrintStream为另一个输出流添加了功能,即能够方便地打印各种数据值的表示。
  1. ObjectOutputStream类(OutputStream类直接子类)
    在这里插入图片描述
    ObjectOutputStream将可序列化Java对象的原始数据类型和图形写入OutputStream。 可以使用ObjectInputStream读取(重构)对象。 可以通过使用流的文件来实现对象的持久存储。 如果流是网络套接字流,则可以在另一个主机上或另一个进程中重构对象。

  2. PipedOutputStream类(OutputStream类直接子类)
    在这里插入图片描述
    管道输出流可以连接到管道输入流以创建通信管道。 管道输出流是管道的发送端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值