1、标准设备输入、输出流:
2、打印流:把不同类型的数据 打印到控制台(标准输出设备)或者 文件中。
System.out————>标准输出流。out的类型为PrintStream类型。
3、数据流:用来读取 / 写出 基本数据类型和String的变量。
4、对象流:用来持久化 和 反持久化对象
相比于比DataInput/OutStream更强大:
- 数据流只能持久化 和 反持久化 基本类型变量。
- 而对象流:还可以持久 和 反持久化一个对象。对象中可以包含基本类型的变量 和 引用变量。
可序列化的对象要满足的要求:
- 要实现Serializable 接口
- 为类提供一个全局常量:可序列化版本号:private static final long serialVersionUID = 1122L;
序列化版本号的目的:
- 让序列化 和 反序列化时,有一个相同的版本号,反序列化时,能够成功还原成 原来的版本对象。
- 假若 没有显示定义这个序列化版本号,则程序运行时会自己生成一个版本号,若我们修改了类的属性,则下次运行程序的序列化版本号就会改变。那么我们再反序列化时,就会失败。
static 和 transient修饰属性,属性不能倍序列化。
5、任意存取文件流:RandomAccessFile
继承体系:
应用:迅雷多线程断点下载文件
来源:https://blog.csdn.net/qq_38737586/article/details/101061261