探究JAVA序列化与反序列化

探究JAVA序列化与反序列化

 序列化JavaBean对象

public class User implements Serializable {
	/**
		 * 序列化User
		 * 
		 * 继承Serializable接口
		 * 添加序列化ID
		 */
	private static final long serialVersionUID = 5451342742084459797L;
	private Integer user_id;
	private String user_name;
	private String user_password;
	private String user_img;
	private Integer user_value;
	private Date user_punch;
	private List<Code> code_id;

}

 

序列化User

	/**
	 * 序列化
	 * 
	 * @param fileName
	 * @param o
	 * @throws FileNotFoundException
	 * @throws IOException
	 */
	public void serialize(String fileName, Object o) throws FileNotFoundException, IOException {
		//利用ObjectOutputStream()方法创建User的序列化文件的输出流
		ObjectOutputStream us = new ObjectOutputStream(new FileOutputStream(fileName));
		//调用writeObject()将User对象写入序列化文件
		us.writeObject(o);
		//关闭输出流
		us.close();
	}	

        反序列化User

/**
	 * 反序列化
	 * 
	 * @param cls
	 * @param fileName
	 * @return
	 * @throws ClassNotFoundException
	 * @throws IOException
	 */
	public <T> T unSerialize(Class<T> cls, String fileName) throws ClassNotFoundException, IOException {
		//利用ObjectOutputStream()方法获取序列化文件的输入流
		ObjectInputStream fi = new ObjectInputStream(new FileInputStream(fileName));
		//调用readObject()将文件反序列为User对象
		T obj = (T) fi.readObject();
		//关闭输入流
		fi.close();
		//返回User对象
		return obj;
	}

猜你喜欢

转载自blog.csdn.net/qq_39663113/article/details/85149048