serializationdemo.java

来自「学习参考,java基本语法练习,包括一些常用的技巧」· Java 代码 · 共 44 行

JAVA
44 行
字号
//对象序列化演示
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 + =
减小字号Ctrl + -
显示快捷键?