美文网首页
java序列化与反序列化简单实例

java序列化与反序列化简单实例

作者: wangzaiplus | 来源:发表于2017-06-27 22:55 被阅读0次

User.java实体类:
package com.ctgu.testSerializable;

import java.io.Serializable;

public class User implements Serializable{

/**
 * 序列号
 */
private static final long serialVersionUID = 1L;

private String name;

private String pwd;

private int age;

public User(String name, String pwd, int age) {
    this.name = name;
    this.pwd = pwd;
    this.age = age;
}

public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPwd() {
    return pwd;
}
public void setPwd(String pwd) {
    this.pwd = pwd;
}
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}
@Override
public String toString() {
    return "User [name=" + name + ", pwd=" + pwd + ", age=" + age + "]";
}

}

TestSerializable.java测试类:
package com.ctgu.testSerializable;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class TestSerializable{

User user = new User("大毛", "123", 22);

ObjectOutputStream oos = null;  

ObjectInputStream ois = null;

File file = new File("C:/Users/Administrator/Desktop/user.txt");
/**
 * 序列化
 */
public void doSerializable(){
    try {
        oos = new ObjectOutputStream(new FileOutputStream(file));
        oos.writeObject(user);
        oos.flush();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            oos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

/**
 * 反序列化
 */
public void noSerializable(){
    try {
        ois = new ObjectInputStream(new FileInputStream(file));
        User user2 = (User)ois.readObject();
        System.out.println(user2.toString());
    } catch (IOException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } finally {
        try {
            ois.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public static void main(String[] args) {
    TestSerializable ts = new TestSerializable();
    ts.doSerializable();
    ts.noSerializable();
}

}
运行结果:
User [name=大毛, pwd=123, age=22]

相关文章

  • Java序列化与反序列化

    问题 Java序列化与反序列化是什么?为什么需要序列化与反序列化?有什么好处?如何实现Java序列化与反序列化? ...

  • Java入门--序列化与反序列化

    Java入门--序列化与反序列化 需要实例化的类 需要实现 Serializable 接口 (空接口, 不定义必须...

  • 《成神之路-基础篇》Java基础知识——序列化(已完结)

    Java对象的序列化与反序列化 介绍了序列化与反序列化的基本用法 深入分析Java的序列化与反序列化 介绍了wri...

  • Java基础系列-序列化与反序列化

    原创文章,转载请标注出处:《Java基础系列-序列化与反序列化》 一、序列化简介 在项目中有很多情况需要对实例对象...

  • 详解Java序列化机制

    序列化有什么意义 首先我们先看看,java中的序列化,在java语言中实例对象想要序列化传输,需要实现Serial...

  • java专题之序列化

    一、基本概念 1、什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反...

  • urldns利用链分析

    java序列化与反序列化 java 序列化与反序列化 为了更好的存放传输一些数据,往往会将一些数据进行序列化,需 ...

  • Java序列化与Hessian序列化的区别

    Java序列化与Hessian序列化的区别

  • 2022-07-12

    什么是序列化与反序列化 Java 序列化是指把 Java 对象转换为字节序列的过程。 Java 反序列化是指把字节...

  • Java-序列化-反序列化

    Thanks Java基础学习总结——Java对象的序列化和反序列化java序列化反序列化原理Java 序列化的高...

网友评论

      本文标题:java序列化与反序列化简单实例

      本文链接:https://www.haomeiwen.com/subject/qxdycxtx.html