1.对于I/O流主要由四种基本的抽象类派生出来:InputStream(即字节输入流),OutputStream(即字节输出流),Reader(即字符输入流),Writer(即字符输出流)
2.对于流按照是否直接连在数据源上分为节点流(常见的节点流FileInputStream,FileOutputStream,FileReader,FileWriter)和处理流(常见的处理流即缓冲流,转换流,打印流,对象流,数据流)
3.缓冲流即主要包括BufferReader,BufferWriter. br.readLine()允许读一行数据,而且是阻塞式。Bw.writer(str)允许写一个字符串
4.转换流即主要包括InputStreamReader即将字节输入流转换成字符输入流,OutputStreamWriter即将字节输出流转换成字符输出流
5.打印流即包括PrintStream,PrintWriter使用规则主要看覆盖的对象时Stream,还是Writer,
Ps.println(str)可以将str打印到文件中同理pw一样
6.数据流主要包括DataInputStream和DataOutputStream,dis.readInt()或者dis.readDouble().dos.writeInt或者dos.writeDouble()往文件中一次性写入整形数或者double数,ByteArrayInputStream bais=new ByteArrayInputStream()在内存中创建了一个字节数组,bais接在这个字节数组上,一般还需要DataInputStream dis=new DataInputStream(bais)一次性的从文件中读取整形数或者double型数
7.对象流即ObjectInputStream和ObjectOutputStream,比如需要将一个对象实例存放在文件中,则首先需要将此对象所对应的类实现序列化的接口,通过ObjectOutputStream便可以存放对象,通过ObjectInputStream便可以取对象,ois.readOject()哈哈
8.标准输入输出流System.out,System.in可以分别理解成一个接在Console窗口的输出流对象,和接在键盘上的输入流对象
9.贯穿的是管道模型