📄 serializabledemo.java
字号:
// 例5.5.1 SerializableDemo.java
import java.io.*;
public class Student implements Serializable //实现了Serializable接口
{
long id; //学号
String name; //姓名
int age; //年龄
String department; //系别
public Student(long id,String name,int age,String department)
{
this.id = id;
this.name = name;
this.age = age;
this.department = department;
}
public String toString()
{
return "[学号] "+id+"[姓名] "
+name+"[年龄] "+age+"[院系] "+department;
}
}
import java.io.*;
public class SerializableDemo
{
public static void main(String[] args)
throws IOException,ClassNotFoundException
{
Student stu1,stu2; // 创建两个Student类的对象
stu1 = new Student(20040902,"David",18,"CSD");
stu2 = new Student(20041005,"Lisa",19,"CSD");
// 显示在没有序列化之前的状态
System.out.println("Status before Object is serialized");
System.out.println(stu1);
System.out.println(stu2);
// 创建文件输出流,保存对象的状态
FileOutputStream fOut = new FileOutputStream("data.dat");
// 创建对象输出流,和文件输出流相连
ObjectOutputStream out = new ObjectOutputStream(fOut);
System.out.println("Object is serialized and saved to file....");
// 将对象写入到输出流中保存
out.writeObject(stu1);
out.writeObject(stu2);
out.close();
Student newStu1,newStu2;
// 创建文件输入流
FileInputStream fIn = new FileInputStream("data.dat");
// 创建对象输入流,和文件输入流相连
ObjectInputStream in = new ObjectInputStream(fIn);
// 从输入流中一个一个地读取对象
newStu1 = (Student)in.readObject();
newStu2 = (Student)in.readObject();
in.close();
System.out.println("Object is recovered from file");
System.out.println(stu1);
System.out.println(stu2);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -