Object流把一个数据存储到文件当中,文件中的数据是乱码,从文件中读取数据,读出来的数据就是原来输入的数据
import java.io.*;
public class Test{
public static void main(String[] args) throws Exception{
ObjectOutputStream osc=null;
ObjectInputStream osr=null;
Student ss=new Student("悟空",10,95.5f);
Student ss2=null;
try{
FileOutputStream wsc=new FileOutputStream("E:/aaa.txt");
osc=new ObjectOutputStream(wsc);
osc.writeObject(ss);
osr=new ObjectInputStream(new FileInputStream("E:/aaa.txt"));
ss2=(Student)osr.readObject();
//readObject()方法就是用于读取数据,并且要进行类型转换
System.out.println("姓名:"+ss2.xingming);
System.out.println("学号:"+ss2.xuehao);
System.out.println("成绩:"+ss2.chengji);
}
catch(Exception e){
System.out.println("出现错误");
}
finally{//作用是善后
try{
osc.close();
osr.close();
System.exit(-1);
}
catch(Exception e){
System.exit(-1);
}
//finally下面的try catch无论是都要写上起到退出作用的话
//如果try catch的后面有finally,那么try catch中不要写退出程序的代码
}
}
}
class Student implements Serializable{//接口是空的,起的是标志作用
String xingming=null;
int xuehao=0;
transient float chengji=0;
//transient的作用是忽略,外界传不进来数据
public Student(String xingming,int xuehao,float chengji){
this.xingming=xingming;
this.xuehao=xuehao;
this.chengji=chengji;
}
}