废话不多说直接上代码:
public
static
void
main(String[]
args
)
throws
IOException, ClassNotFoundException {
CustAux
aux
=
new
CustAux(1L);
File
file
=
new
File(
"E://123.TXT"
);
//序列化(序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程)转存物理设备
/* FileOutputStream os = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(aux);*/
//反序列化
FileInputStream
fis
=
new
FileInputStream(
file
);
ObjectInputStream
ois
=
new
ObjectInputStream(
fis
);
CustAux
readObject
= (CustAux)
ois
.readObject();
System.
out
.println(
readObject
.getCustId());
}
public
class
CustAux
extends
CustBase
implements
Serializable{
public
CustAux(){
}
public
CustAux(Long
custId
){
this
.
custId
=
custId
;
}
private static final long serialVersionUID = 1L;
private
Long
custId
;
}
总结:
1)Java序列化就是把对象转换成字节序列,而Java反序列化就是把字节序列还原成Java对象。
2)采用Java序列化与反序列化技术,一是可以实现数据的持久化,在MVC模式中很是有用;二是可以对象数据的远程通信。