InputSream,
一级子类8个,1个抽象类FilterInputStream.
二级策略模式FilterInputStream下9个[其中一个过时].1个抽象类InflaterInputStream.
三级策略模式InflaterInputStream下2个.
- java.io.ByteArrayInputStream 使用场景:Byte数据.有缓存.
- java.io.FileInputStream 场景:文件
- java.io.SequenceInputStream: 场景:用于合并文件
-
java.io.StringBufferInputStream: 场景:用于String - java.io.ObjectInputStream: 场景:用于对象的输入.
- java.io.PipedInputStream 与pipedOutputStream一起使用,用于多线程通信.
- java.io.FilterInputStream: 主要使用旗下子类.构造方法受保护,不能直接访问.
- java.io.BufferedInputStream:大文件,性能要求高的情况下使用.其会先读取比请求更多的数据到缓冲区.[缓存更比ByteArrayInputStream优]
- javax.crypto.CipherInputStream 文件流解密
- java.security.DigestInputStream 在输入、输出的同时用MD5,SHA1等摘要算法计算消息摘要,消息摘要是用来保证数据完整性的。传输的数据一旦被修改那么计算出的摘要就不同,只要对比两次摘要就可确定数据是否被修改过。
- java.io.PushbackInputStream 提供可以将数据插入到输入流前端的能力。能够插入的最大字节数与推回缓冲区的大小相关。
- java.io.DataInputStream 有时没有必要存储整个对象的信息,而只是要存储一个对象的成员数据,成员数据的类型假设都是Java的基本数据类型,这样的需求不必使用到与Object输入、输出相关的流对象.是数据输入流。它是用来装饰其它输入流,它“允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型”
- 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
- java.io.ByteArrayOutputStream 使用场景:Byte数据.有缓存.
- java.io.FileOutputStream 场景:文件
- java.io.ObjectOutputStream 场景:用于对象的输出.
- java.io.PipedOutputStream 用于多线程通信.
-
org.omg.CORBA.portable.OutputStream[忽略] - java.io.FilterOutputStream 抽象
- java.io.BufferedOutputStream 大文件,性能要求高的情况下使用.
- java.io.DataOutputStream 有时没有必要存储整个对象的信息,而只是要存储一个对象的成员数据
- java.io.PrintStream 是一个字节打印流,System.out对应的类型就是PrintStream
- 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.BufferedReader 是字符缓冲输入流。它的作用是为另一个输入流添加缓冲功能
- java.io.LineNumberReader
- 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.BufferedWriter
- java.io.CharArrayWriter
- java.io.PipedWriter 多线程使用
- java.io.PrintWriter 是字符类型的打印输出流。它是用来装饰其它输出流,能为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式
- java.io.StringWriter
- java.io.FilterWriter 抽象类,供第三方扩展使用。
- java.io.OutputStreamWriter字节转字符