转的帖子,人家总结的很好。拿出来大家一起学习~
1) 从数据类型分:字节流和字符流
字节流类:
抽象父类: InputStream,OutputStream
实现类:
BufferedInputStream 缓冲流-过虑流
BufferedOutputStream
ByteArrayInputStream 字节数组流-节点流
ByteArrayOutputStream
DataInputStream 处理JAVA标准数据流-过虑流
DataOutputStream
FileInputStream 处理文件IO流-节点流
FileOutputStream
FilterInputStream 实现过虑流-字节过虑流父类
FilterOutputStream
PipedInputStream 管道流
PipedOutputStream
PrintStream 包含print() 和 println()
RandomAccessFile 支持随机文件
抽象父类:Reader, Writer
实现类:
BufferedReader
BufferedWriter
PrintWriter
CharArrayReader
CharArrayWriter
FileReader
FileWriter
FilterReader
FilterWriter
InputStreamReader
OutputStreamWriter
PipedReader
PipedWriter
StringReader
StringWriter
2) 从数据方向分:输入流和输出流
InputXXXXX , OutputXXXXX
3) 从流的功能分:节点流和过滤流(使用到油漆工模式)
节点流用来传输数据。
过滤流用来封装节点流或者其他过滤流,从而给节点流或其他的过滤流增加一个功能。 |