流的分类:
1.流从流动方向上看:一般分为输入流和输出流
输入流:如System.in是一个InputStream类型输入流
输出流:如System.out 是一个PrintStream类型输出流
2.从读取类型上分:一般分为字节流和字符流
字节流:如System.in是一个InputStream类型字节流
字符流:如new InputStreamReader(System.in)是一个字符流对象
3.流从发生的源头:分为节点流和过滤流类
节点流:直接操作目标设备对应的流
如文件流,标准输入输出流
过滤流:继承带有关键字Filter的流
用于包装操作节点流,方便读写各种类型的数据
字节流InputStream和OutputStream的子类分别有哪些?请举例说明其使用场景。与其对应的字符流分别有哪些?
1.InputStream的子类
FileInputStream 文件流
PipedInputStream 管道输入流,读取管道内容。多和PipedOutputStream一起用于多线程通信
ObjectInputStream用来恢复被序列化的对象
ByteArrayInputStream包含一个内存缓冲区,字节从中取出。
SequenceInputStream 是多种输入流的逻辑串联,从第一个输入流读取,直到最后一个输入流
FilterInputStream 过滤流,在读写数据的同时还可以对数据进行特殊处理
2.OutputStream的子类
FileOutputStream 文件流
PipedOutputStream 管道流
ObjectOutputStream将对象序列化后写入指定地方
ByteArrayOutputStream在字节数组和流之间搭建桥梁
SequenceOutputStream 是多种输入流的逻辑串联
FilterInputStream 过滤流,在读写数据的同时还可以对数据进行特殊处理
本文详细介绍了Java.IO流的三大分类——输入流与输出流、字节流与字符流、节点流与过滤流,以及各类流的典型使用场景。例如,FileInputStream用于读取文件,ObjectInputStream用于反序列化对象,而FilterInputStream则作为过滤流,常用于数据的特殊处理。此外,还列举了OutputStream的子类,如FileOutputStream用于写入文件,ObjectOutputStream实现对象的序列化。通过对流的深入理解,开发者能更高效地处理数据输入输出。
593

被折叠的 条评论
为什么被折叠?



