📄 externalexam.java
字号:
import java.io.*;
import java.util.*;
class Serial implements Externalizable{
String name = "张飞";
int age = 20;
public Serial(){
System.out.println("default constructor");
}
public Serial(String name,int age){
this.name = name;
this.age = age;
System.out.println("Not default constructor");
}
public void writeExternal(ObjectOutput out)throws IOException{
System.out.println("run writeExternal");
Date date=new Date();
out.writeObject(date);
out.writeObject(name);
out.writeInt(age);
System.out.println("date in stream is "+date);
}
public void readExternal(ObjectInput in)throws IOException,ClassNotFoundException{
System.out.println("run readExternal");
Date date=(Date)in.readObject();
name=(String)in.readObject();
age=in.readInt();
System.out.println("date in stream is "+date);
}
public String toString() {
return "name = " + name + ", age = " + age;
}
}
public class ExternalExam {
public static void main(String[] args) throws Exception{
ObjectOutputStream out=new ObjectOutputStream(
new FileOutputStream("hero.dat"));
Serial scrObj=new Serial("令狐冲",18);
System.out.println("将以下对象序列化");
System.out.println(scrObj);
out.writeObject(scrObj);
out.close();
System.out.println("开始从文件中恢复对象");
ObjectInputStream in=new ObjectInputStream(
new FileInputStream("hero.dat"));
Serial sObj=(Serial)in.readObject();
in.close();
System.out.println("恢复得到的对象");
System.out.println(scrObj);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -