组内笔记

1.流的概念
Java将数据从源读入到内存中 形成了流。
崇耿:而流的概念是相对而言的,比如水库找中的水流入用户家中,对于水库来说是输出流,而对于用户而言是输入流。
宇韬:例如程序从源中读取,再写入目的地里。从源中读取的流对于程序来说是输入流,而写入目的地的流对于程序来说是输出流。
崇耿:正确。
2.流的分类
Java中的流可按照流的方向分为输入流和输出流,按照处理的数据类型单元分为字节流和字符流,按照处理对象分位节点流和处理流。
宇韬:输入流和输出流不难理解,而字节流和字符流的区别则是分别以获取数据时以字节为单位和以字符为单位。即处理数据时,字节流的最小单位为一个字节(8位),字符流的最小单位为一个字符(16位)。
崇耿:而节点流则是可以直接与数据源连接的流,处理流则相当于是对节点流的一种包装,使得操作时更加的方便。
【组内笔记】3.四大I/O抽象类
InputStream:字节输入流的所有类的父类。
OutputStream:字节输出流的所有类的父类。

Reader:用于读取的字符流抽象类。

Writer:用于写入的字符流抽象类。

崇耿:所有的输入流输出流都是基于以上四种类型拓展开来的。如文件字节流就是FileInputStream和FileOutputStream,文件字符流就是FileReader和FileWriter。
宇韬:但字节流不能很好的处理Unicode字符,所以处理文本文件时一般可以使用文件字符流。
此处做个粗略的总结
缓冲流:BufferedInputStream&BufferedOutputStream
字节数组流:ByteArrayInputStream&ByteArrayInputStream
数据流:DateInputStream&DateOutputStream
对象流:ObjectInputStream&ObjectOutputStream
宇韬:这里需要主要,缓冲流,数据流,对象流都是处理流,是为了对其他的节点流或处理流进行包装,使其更加灵活高效。
崇耿:例如想使用对象流时,先使用字节流作为节点流,然后用缓冲流继续包装,再用对象流对缓冲流进行进一层的包装,像俄罗斯套娃一样。
每周笔记
郑宇韬2篇
邵崇耿1篇
黎珊1篇

    推荐阅读