java 序列化与反序列化

来源:互联网 发布:集成电路设计软件 编辑:程序博客网 时间:2024/05/01 12:28

序列化对象

import java.io.Serializable;

public class User implements Serializable {
private static final long serialVersionUID = 1L;
private transient String id;
private String name;


public User(String id, String name) {
super();
this.id = id;
this.name = name;
}


public String getId() {
return id;
}


public void setId(String id) {
this.id = id;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}

}


序列化

public static byte[] writeObj(Object obj) throws Exception
{
ByteArrayOutputStream output = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(output);
objectOutputStream.writeObject(obj);
objectOutputStream.close();
output.close();
return output.toByteArray();
}

反序列化

public static Object readObj(byte[] bytes) throws Exception

{
ByteArrayInputStream input = new ByteArrayInputStream(bytes);
ObjectInputStream objectinputstream = new ObjectInputStream(input);
Object obj = objectinputstream.readObject();
objectinputstream.close();
input.close();
return obj;
}

注意事项

1.序列化对象需要实现Serializable接口。

2.对象的属性中对transient关键字,那么此属性值将不会被序列化。

0 0
原创粉丝点击