java序列化和java反序列化示例
序列化一般应用与以下场景之中:
1.永久性保存对象,把对象通过序列化字节流保存到本地文件中;
2.通过序列化在网络中传输对象
3.通过序列化在进程间传递对象
import java.io.Serializable;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class javaSerializable_fun {
/**
* java.io.Serializable 接口,类只有实现Serializable借口才能被序列化
* java.io.Externalizable接口,利用java的序列化和反序列化工具,很多存储和恢复对象的工作都可以自动完成。
* java.io.ObjectOutput接口,序列化传出, 继承了DataOutput接口并定义了一些方法,它支持对象序列化;
* 重点说明:在该类中,writeObject()方法是最重要的方法,用于对象序列化,如果对象包含其他的对象引用,则writeObject()方法地柜序列化这些对象;
* java.io.ObjectOutputStream类,负责向流中写入对象,构造方法:ObjectOutputStream(OutputStream out);
* java.io.ObjectInput接口,序列化传入。继承了DataInput接口并定义了一些方法,它支持对象序列化;
* ObjectInputStream类, 负责向从流中读取对象,构造方法:ObjectInputStream(InputStream out);
***/
public static void main(String[] args) {
try
{
//构造FileOutputStream对象
FileOutputStream f=new FileOutputStream("C:a.txt");
//构造ObjectOutputStream对象
ObjectOutputStream out=new ObjectOutputStream(f);
Customer customer=new Customer("bj",50);
//使用ObjectOutputStream对象的writeObject()方法进行序列化
out.writeObject(customer);
//关闭ObjectOutputStream对象
out.close();
//关闭FileOutputStream对象
f.close();
System.out.println("序列化完毕!");
}
catch(IOException e)
{
e.getStackTrace();
}
}
}
class Customer implements Serializable
{
private static final long serialVersionUID =1L;
private String name;
private int age;
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public Customer(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return "name="+ name +",age="+age;
}
}
相关文章
SpringMVC拦截器的实现和作用及Redis登陆功能的优化详解
这篇文章主要介绍了Java项目SpringMVC拦截器+Redis优化登录功能实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-09-09java.lang.ExceptionInInitializerError异常的解决方法
这篇文章主要为大家详细介绍了java.lang.ExceptionInInitializerError异常的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10java使用java.util.Date获取指定日期的年、月、日、时、分、秒
在Java中获取当前时间和日期是很常见的操作,也是很重要的操作,下面这篇文章主要给大家介绍了关于java使用java.util.Date获取指定日期的年、月、日、时、分、秒的相关资料,需要的朋友可以参考下2024-01-01详解用Kotlin写一个基于Spring Boot的RESTful服务
这篇文章主要介绍了详解用Kotlin写一个基于Spring Boot的RESTful服务 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05MyBatis使用自定义TypeHandler转换类型的实现方法
这篇文章主要介绍了MyBatis使用自定义TypeHandler转换类型的实现方法,本文介绍使用TypeHandler 实现日期类型的转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-10-10jpa异常No entity found for query问题解决
这篇文章主要为大家介绍了jpa异常之No entity found for query的异常问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步2022-03-03
最新评论