📄 serializationdemo.java
字号:
//对象序列化演示
import java.io.*;
import java.util.*;
//实现Serializable接口
public class SerializationDemo implements Serializable
{
Date date = new Date();
String strUser;
//关键字transient在这里表示strPass将不被序列化
transient String strPass;
//以用户名和密码作为参数的构造函数
public SerializationDemo(String name, String pwd)
{
strUser = name;
strPass = pwd;
}
//输出对象信息
public String toString()
{
String pwd = (strPass == null) ? "未知" : strPass;
return "登录信息: \n"+"用户名: "+strUser + "\n日期: "+date.toLocaleString()+"\n密码: "+pwd;
}
//抛出IOException和ClassNotFoundException
public static void main(String[] args) throws IOException, ClassNotFoundException
{
//构造序列化对象
SerializationDemo sd=new SerializationDemo("liuzc","liuzc518");
System.out.println(sd);
//将序列化对象写入到user.dat
ObjectOutputStream oosLogin=new ObjectOutputStream( new FileOutputStream("user.dat"));
oosLogin.writeObject(sd);
oosLogin.close();
//设置延迟时间
long lngTime= System.currentTimeMillis()+5000;
//延时处理
while(System.currentTimeMillis()<lngTime);
//从文件user.dat中读入序列化对象
ObjectInputStream oisLogin=new ObjectInputStream( new FileInputStream("user.dat"));
System.out.println( "重新读入登录信息......\n"+(new Date()).toLocaleString());
sd=(SerializationDemo)oisLogin.readObject();
System.out.println(sd);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -