java——IO_节点流和过滤流
2018-07-03 本文已影响5人
少帅yangjie
节点流就是基本流,过滤流保证节点流,添加特色功能,在构造函数中有一个InputStream参数,这是我区分节点流和过滤流的方法,我们编程一般使用过滤流的引用。
节点流:指的就是可以独立来创建对象的流
比如水龙头就是一个节点流,如果感觉水质不太好,就可以套上过滤流来过滤水
过滤流来依附于节点流来创建
过滤流就是为了增强功能
节点流:节点流从一个特定的数据源读写数据。即节点流是直接操作文件,网络等的流,例如FileInputStream和FileOutputStream,他们直接从文件中读取或往文件中写入字节流。
过滤流:“连接”在已存在的流(节点流或过滤流)之上通过对数据的处理为程序提供更为强大的读写功能。过滤流是使用一个已经存在的输入流或输出流连接创建的,过滤流就是对节点流进行一系列的包装。例如BufferedInputStream和BufferedOutputStream,使用已经存在的节点流来构造,提供带缓冲的读写,提高了读写的效率,以及DataInputStream和DataOutputStream,使用已经存在的节点流来构造,提供了读写Java中的基本数据类型的功能。他们都属于过滤流。
相关例子如下:
TestWriteNum.java TestReadNum.java 输出结果注意:本例中,数据的写入文件的顺序是int folat double,所以读取的时候也要按该顺序来读取,不然如果先读取double类型的数据,那么int和float类型就变成了8个字节了