流的分类:java.io
方向分类:输出流和输入流
功能分类:节点流和处理流
节点流:可以从一个特定的数据源(节点)读取数据(文件)
处理流:套接在我们节点流上的流,通常提供对数据读写的更强大的读写功能。
InputStream --- | FileInputStream 读写文件的,字节
| ByteArrayInputStream 读Byte数组的,实现数据的收集
| FilterInputStream ——|DataInputStream ——int double long等等包装流,在文件里看不到他的实际数据。
| BufferedInputStream--缓冲,可以减少反复读取的次数 包装流
| ObjectInputStream处理对象数据的:包装流 类需要序列化
Reader —— | BufferedReader:和BufferedInputStream是对应的,不过他提供的是字符缓冲区,字符流的包装类。
| CharArrayReader
| InputStreamReader ----FileReader :字符流读取
| StringReader
OutputStream和Writer对比着上边相类似的记忆。