在做视频传输的时候很苦恼的是不能直接传输对象,只能单纯的传输坐标这些参数,增加了很大的工作量。今天我们来介绍对象流,可以对 对象进行读写。
首先,我们要有一个要操作的对象类。这个类一定要注意的是,这个类一定要继承Serializable接口!!
package com.test;
import java.io.Serializable;
public class Student implements Serializable{
String name;
int age;
int no;
public Student(String name,int age,int no) {
this.name=name;
this.age=age;
this.no=no;
}
}
public void ObjectOutputStream(File file) {
try {
FileOutputStream fos=new FileOutputStream(file);
ObjectOutputStream oos=new ObjectOutputStream(fos);
Student stu=new Student("欸呦喂",18,1002);
oos.writeObject(stu);//把对象写入流中
oos.close();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void ObjectInputStream(File file) {
FileInputStream fis;
try {
fis = new FileInputStream(file);
ObjectInputStream ois=new ObjectInputStream(fis);
Student stu;
stu = (Student) ois.readObject();//要进行强制转换
System.out.println("name="+stu.name+"\tage="+stu.age+"\tno="+stu.no);
fis.close();
ois.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}