Java序列化示例分享
下文笔者讲述java序列化的示例分享,如下所示
序列化简介
序列化的功能: 就是将对象转换为字节流 然后将其保存到文件中或进行网络传输 反序列化的功能: 将字节流转换为对象
序列化及反序列化示例
// 序列化-将对象转换为文件保存 public static void writeObject(Object obj, File file) throws IOException { try (FileOutputStream fos = new FileOutputStream(file); ObjectOutputStream oos = new ObjectOutputStream(fos)) { oos.writeObject(obj); oos.flush(); } } //反序列化--字节流转换为对象 public static Object readObject(File file) throws IOException, ClassNotFoundException { Object result = null; try (FileInputStream fis = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(fis)) { result = ois.readObject(); } return result; }
POJO
Person.javapackage com.java265.io.object; import java.io.Serializable; import java.math.BigDecimal; public class Person implements Serializable { // optional, if missing, JVM will create it. // better declare as a version control. private static final long serialVersionUID = 1L; private String name; private int age; // dun save this field into file private transient BigDecimal salary; // getters, setters, toString, constructor }
注意事项: 1.待序列化对象必须实现 Serializable接口,否则会产生相应的异常信息 Exception in thread "main" java.io.NotSerializableException 2.序列化需忽略的字段,需使用transient注解标注 3.serialVersionUID的功能 serialVersionUID字段如果没有,JVM会自动创建 serialVersionUID字段的功能,类似于版本号的概念
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。