对象操作类:
方法介绍:
构造函数:ObjectInputStream/ObjectOutputStream是处理流,在创建流实例时,是需要通过节点流(FileInputStream/FileOutputStream)的实例来作为参数创建改处理流;
特有方法:
- final void writeObject(Object obj): 写入对象;
- final Object readObject(): 读取对象
对于将读写对象涉及的序列化和反序列化,请点击此篇博客
以ObjectOutputStream为例,表明具体用法
package IOdemo;
import java.io.*;
class Person implements java.io.Serializable{
private static final long serialVersionUID=1L;
private String name;
private int age;
private boolean sex;
public Person(String name,int age,boolean sex){
this.name=name;
this.age=age;
this.sex=sex;
}
@Override
public String toString() {
return "Preson{" +
"name='" + name + '\'' +
", age=" + age +
", sex=" + sex +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class ObjectOutputStreamDemo {
public static void main(String[] args){
String path="E:\\javaSource2\\javacod\\20181121\\Output";
FileOutputStream fileOutputStream=null;
ObjectOutputStream objectOutputStream=null;
Person preson=new Person("lisi",22,true);
try{
fileOutputStream=new FileOutputStream(path);
objectOutputStream=new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(preson);
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException f){
f.printStackTrace();
}finally {
if(fileOutputStream!=null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (objectOutputStream!=null) {
try {
objectOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}