1. InputStream
1. FileInputStream:对二进制的文件进行操作。数据源一般为磁盘。
2. PipedInputStream:主要针对线程管道。
3. StringBufferInputStream:用于操作字符串的流。
4. ObjectInputStream:对象流,用于操作内存中对象。
5. FilterInputStream:过滤流,提供的子类非常重要,管道里面的内容读完了,返回-1。
- LineNumberInputStream:表示程序读取哪一行,计数器。
- DataInputStream:数据操作流,提供了一系列的功能,读取的数据转化为一个byte、boolean、long、float、字符串输出。
- BufferedInputStream:缓冲流, 套在响应节点流基础之上,对读写数据提供缓冲的功能,提高了读写的效率,同时还增加了一些额外的方法。(缓冲区:在内存空间开辟一个缓冲区域,读写先将数据放入缓冲区,减少对磁盘的读写。)例如:byte[ ] = new byte[ 1024 ];
- 使用缓冲流:
* 减少对磁盘的io操作
* 提高了数据读写的效率
2. Reader
1. OutputStream
1. FileOutputStream
2. PipedOutputStream
3. ObjectOutputStream
4. FilterOutputStream
- DataOutputStream
- BufferedOutputStream
- PrintStream
1. InputStream
2. OutputStream
1. Reader
1. InputStreamReader:转换流,可以将字节流转化为字符流。
2. BufferedReader
3. FilterReader
4. StringReader
5. PipedReader
2. Writer
1. OutputStreamWriter
2. BufferedWriter
3. FilterWriter
4. StringWriter
5. PipedWriter
1. 节点流
1. 从一个特定的数据源读取数据。
2. 一般直接操作文件或者网络等提供的流。直接从文件读取数据,将数据直接写入到文件中。也称为低级流。
2. 处理流。
1. 不直接连接到设备上,而是建立在其它流之上,通过对数据的处理提供更强大的功能。也称为高级流。
2. 在低级流的基础之上,继续扩展和优化了功能。
原文:https://www.cnblogs.com/Gavin520/p/10580853.html