一、打印流
可以使得程序中的效果很方便的经行输出
字节打印流:PrintStream
字符打印流:PrintWriter
二、对象流与序列化
对象流的两个类
1、ObjectOutputStream:将对象进行序列化,写入到文件中
2、ObjectInputStream:将之前序列化的文件进行反序列化到程序中
对象序列化:就是把对象写入到输出流之中,,用来存储或船宿,反序列化就是将其读取出来
通常将序列化的对象以数组的方式进行保存
transient关键字:当某个对象或者属性的值不需要序列化保存时,需要使用此关键字修饰
三、数组流
在程序操作中,将字节保存到一个数组中,然后保存在流里面,这样以后的操作就都是在程序中完成,不会产生异常
1、ByteArrayOutputStream
内部包含一个缓冲区,将操作的对象保存到缓冲区中
2、ByteArrayInputStream
将对象从缓冲区之中取出来
四、数据流
将程序操作的对象转换为数据的形式进行操作
1、DataOutputStream
将对象以数据的形式输出
2、DataInputStream
将对象以数据的形式输入
注:DataOutputStream在多线程里面不一定是安全的,其安全性优操作者决定
五、分割流
将一个大的文件分割成几个小的为文件保存,其核心是一个算法
六、合并流
将几个小文件合成一个较大的文件
七、字符串流
将程序操作的对象转换为字符串的形式进行操作
1、StringReader:原为一个字符串的字节流
2、StringWriter:将程序操作的对象转换为字符串的形式进行操作
八、管道流