什么是java序列化,如何实现java序列化?(写一个实例),java怎么实现序列化
序列化的实现:
要序列化的类实现Serializable接口,该接口没有要实现的方法。实现Serializable只是为了标记对象可以序列化,然后用一个输出流(比如FileOutputStream)构造一个ObjectOutputStream对象。然后用ObjectOutputStream对象的writeObject(Object obj)方法写出带有obj参数的对象(即保存其状态),再用输入流还原。
对象序列化
Java.io.ObjectOutputStream表示对象输出流,其writeObject(Object obj)方法可以序列化参数指定的obj对象,并将字节序列写入目标输出流。只有实现可序列化和可外部化接口的类的对象才能被序列化。
Java.io.ObjectInputStream表示对象输入流,其readObject()方法从源输入流中读取字节序列,将它们反序列化为对象,然后返回它们。
相关视频教程推荐:java免费视频教程
代码示例:
导入Java . io . *;
导入Java . util . date;
公共类ObjectSaver {
公共静态void main(String[] args)引发异常{
/*其中D:\\objectFile.obj表示存储序列化对象的文件*/
//序列化对象
object output stream out=new object output stream(new file output stream( D:\ \ object file . obj );
客户客户=新客户(只是湿透了,24);
Out.writeObject (Hello!);//写入文字常量
out . writeobject(new Date());//编写一个匿名日期对象
out.writeObject(客户);//编写客户对象
out . close();
//反序列化该对象
ObjectInputStream in=new ObjectInputStream(new file inputstream( D:\ \ object file . obj );
system . out . println( obj 1 (String)in . read object());//读取文字常量
system . out . println( obj 2 (Date)in . read object());//读取匿名日期对象
客户obj3=(客户)in . read object();//读取客户对象
system . out . println( obj 3 obj 3);
in . close();
}
}
客户类实现可序列化{
私有字符串名称;
私人年龄;
公共客户(字符串名称,整数){
this.name=name
this.age=年龄;
}
公共字符串toString() {
return name= name ,age= age
}
}执行结果:
如何解决写爬虫IP受阻的问题?立即使用。
描述:
1.阅读对象的顺序要和书写的顺序一致。
2.对象的默认序列化机制写入的内容是:对象的类、类签名以及非瞬态和非静态字段的值。
相关文章教程推荐:java入门教程以上是如何实现java序列化的详细内容。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。