前面学习了标准输入输出流、转换流、打印流之后,我们再来接触一个不常用的流,(嗯,是我没怎么用过的,也是学习过程才是了解到的,渣渣的我)。
对象操作流~
它是啥?
用于从流中读取对象的
ObjectInputStream 称为 反序列化流,利用输入流从文件中读取对象
ObjectOutputStream 称为 序列化流,利用输出流向文件中写入对象
特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。
示例代码:
/*
* 对象操作流:可以用于读写任意类型的对象
* ObjectOutputStream
* writeObject
* ObjectOutputStream(OutputStream out)
* ObjectInputStream
* readObject
* ObjectInputStream(InputStream in)
*
* 注意:
* 使用对象输出流写出对象,只能使用对象输入流来读取对象
* 只能将支持 java.io.Serializable 接口的对象写入流中
*
*/
public class ObjectOutputStreamDemo {
public static void main(String[] args) {
}
}
案例代码1:利用序列化流读写对象
import java.io.Serializable;
public class Student implements Serializable {
String name;
int age;
public Student(String name,int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age +"]";
}
}
//================我是分割线