InputSream,
一级子类8个,1个抽象类FilterInputStream.
二级策略模式FilterInputStream下9个[其中一个过时].1个抽象类InflaterInputStream.
三级策略模式InflaterInputStream下2个.
java.io.SequenceInputStream: 场景:用于合并文件
java.io.StringBufferInputStream: 场景:用于String
java.io.FilterInputStream: 主要使用旗下子类.构造方法受保护,不能直接访问.
java.io.BufferedInputStream:大文件,性能要求高的情况下使用.其会先读取比请求更多的数据到缓冲区.[缓存更比ByteArrayInputStream优]
javax.crypto.CipherInputStream 文件流解密
java.security.DigestInputStream 在输入、输出的同时用MD5,SHA1等摘要算法计算消息摘要,消息摘要是用来保证数据完整性的。传输的数据一旦被修改那么计算出的摘要就不同,只要对比两次摘要就可确定数据是否被修改过。
java.io.PushbackInputStream 提供可以将数据插入到输入流前端的能力。能够插入的最大字节数与推回缓冲区的大小相关。
java.util.zip.CheckedInputStream 与解压相关.
java.util.zip.InflaterInputStream 此类为解压缩 "deflate" 压缩格式的数据实现流过滤器。它还用作其他解压缩过滤器(如 GZIPInputStream)的基础。
java.util.zip.ZipInputStream 解压用Zip文件格式保存的数据
java.util.zip.GZIPInputStream 解压用GZIP文件格式保存的数据
java.util.zip.DeflaterInputStream 为使用 "deflate" 压缩格式压缩数据实现输入流过滤器。
java.io.LineNumberInputStream 它提供跟踪当前行号的附加功能,是过时的实现,此类错误假定字节能充分表示字符。建议使用LineNumberReader
javax.swing.ProgressMonitorInputStream 监视读取某些 InputStream 的进度,用于swing.
javax.sound.sampled.AudioInputStream 针对音频处理的流,位于javax.sound下.Java相关音频都在此处.
org.omg.CORBA.portable.InputStream [忽略]
java.io.OutputStream
org.omg.CORBA.portable.OutputStream [忽略]
java.io.FilterOutputStream 抽象
java.rmi.server.LogStream 提供一种记录错误的机制,这一机制专门用来监视系统运行情况。
java.security.DigestOutputStream 计算消息摘要
javax.crypto.CipherOutputStream 文件流加密
java.util.zip.CheckedOutputStream 与压缩相关.
java.util.zip.DeflaterOutputStream 与压缩相关.
java.util.zip.GZIPOutputStream 与压缩相关.
java.util.zip.ZipOutputStream 与压缩相关.
java.util.zip.InflaterOutputStream 与压缩相关.
java.io.Reader
java.io.LineNumberReader
java.io.CharArrayReader 和ByteArrayInputStream一样的道理
java.io.PipedReader 多线程使用
java.io.StringReader
java.io.InputStreamReader 是字节转字符的输入流。它是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符
java.io.FilterReader
java.io.PushbackReader
java.io.Writer
java.io.PipedWriter 多线程使用
java.io.PrintWriter 是字符类型的打印输出流。它是用来装饰其它输出流,能为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式
java.io.StringWriter
java.io.FilterWriter 抽象类,供第三方扩展使用。