基本的概念
1. 输入流和输出流
相对于程序而言,程序向文件或内存写入内容叫做输出流。从文件或内存中读取内容到程序叫做输入流。
2. 字节流和字符流
在java中,采用unicode编码,一个字符占用两个字节16bit(字位),一个字节8bit。字节流就是读写二进制文件及任何类型的文件,字符流就是读写文本文件。
3. 节点流和处理流
节点流:可以从一个文件或内存中直接读写数据的;
处理流:连接在其他的节点流或处理流之上,通过处理流为程序提供更强大的处理功能
java.io包中的流都是分别继承四种抽象流类型
| 字节流 | 字符流 |
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
4. 转换流
从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。 输入流InputStreamReader,输出流OutputStreamWriter;
5. 缓冲流
一个缓冲多个字符进行读写。