一、概述Java中的IO流按方向分为输入流和输出流,按数据类型分为字节流和字符流。2.按类型3.按方向输入输出4.常用流介绍节点流的常见类型有:FileReader/FileWriter,用于对文件进行操作的字符流,FileInputStream/FileOutputStream,用于字节流。常见的处理流类型有:Bufferstream:将bufferstream“套接”在相应的nodestream上,为读写数据提供缓冲功能,提高读写效率,增加一些新的方法。字节缓冲流有BufferedInputStream/BufferedOutputStream,字符缓冲流有BufferedReader/BufferedWriter,字符缓冲流分别提供读取和写入一行的方法ReadLine和NewLine。对于输出缓冲流,写入的数据会先写入内存,然后使用flush方法将内存中的数据刷新到硬盘。因此,在使用字符缓冲流时,一定要先flush,再close,以免数据丢失。转换流:用于字节数据和字符数据之间的转换。只有字符流InputStreamReader/OutputStreamWriter。其中,InputStreamReader需要与InputStream“套接”,OutputStreamWriter需要与OutputStream“套接”。数据流:提供Java中读写基本数据类型的功能。DataInputStream和DataOutputStream分别继承自InputStream和OutputStream,需要“套接”在InputStream和OutputStream类型的节点流上。ObjectStream:用于直接写入和写入对象。流类包括ObjectInputStream和ObjectOutputStream。这两个方法本身没什么,但是要写的对象是有要求的。该对象必须实现Serializable接口以声明它可以被序列化。否则,无法读取和写入对象流。还有一个重要的关键字,transient,因为它修饰了实现Serializable接口的类中的属性,以对象流的形式输出时,被这个修饰符修饰的属性会被忽略
