首页 > 编程语言 >java对象的反序列化和序列化

java对象的反序列化和序列化

时间:2022-11-05 23:13:42浏览次数:34  
标签:java addr 对象 age name 序列化 public String

对象的序列化

package com.tedu.day1301;

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

/*
完成序列化
序列化:将java对象序列化到磁盘中
 */
public class Study_OOS01 {
    public static void main(String[] args) {
        try {
            // 创建ObjectOutputStream的序列化对象
            FileOutputStream out = new FileOutputStream("student.txt");
            ObjectOutputStream oos = new ObjectOutputStream(out);
            // 实现序列化
            Student stu = new Student("张飞",18,"北京");
            oos.writeObject(stu);
            // 释放流资源
            oos.close();
            System.out.println("对象序列化成功");
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

//创建Student类
class Student implements Serializable {
    //成员变量
    private String name;
    private int age;
    private String addr;
    // 无参构造
    public Student(){
    }
    public Student(String name, int age, String addr) {
        this.name = name;
        this.age = age;
        this.addr = addr;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", addr='" + addr + '\'' +
                '}';
    }
}

对象的反序列化

package com.tedu.day1301;

import java.io.FileInputStream;
import java.io.ObjectInputStream;

/*
实现反序列化
将磁盘文件转换为java对象
如何实现:ObjectInputStream
 */
public class Study_OIS01 {
    public static void main(String[] args) {
        try {
            // 创建ObjectInputStream对象
            FileInputStream in = new FileInputStream("student.txt");
            ObjectInputStream ois = new ObjectInputStream(in);
            // 使用readObject()进行反序列化
            Object obj = ois.readObject();
            // 向下转型
            Student st = (Student)obj;
            System.out.println(st.getName());
            ois.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

标签:java,addr,对象,age,name,序列化,public,String
From: https://www.cnblogs.com/ch2020/p/16861621.html

相关文章

  • 将java装进u盘指南
    将java装入u盘指南idea将下载好的idea的文件夹移动到u盘中。在idea的bin目录里找到idea.properties文件,在最后添加以下两行idea.config.path=U:/IntelliJ/.IntelliJIdea......
  • JAVA 登录系统和学生管理系统相结合
    这个系统比较常用,很适合练手。有四部分组成1.student的类也就是 Javabean2.登陆系统的源代码  也就是main方法里面。3.user的类也就是 javabean4.学生管理系统的......
  • 35、Java——一个案例学会Dao+service层对数据表的增删改查
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。文章目录​​案例​​​​建表​​​​配置​​​​Animal类​​​​DBUtils数据库工具类​​​​DateUtils日期......
  • 34、Java——一个案例学会Dom4j解析技术对XML文件的增删改查
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。案例使用Dom4j解析技术实现对animal.xml文件进行增删改查操作。链接:​​dom4j包下载​​​将dom4j的jar包导入......
  • 【JAVA高级】——初识JDBC中Service业务逻辑层
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。本文目录​​......
  • 【JAVA高级】——初识JDBC中DAO数据访问对象
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。本文目录​​......
  • 33、Java——汽车租赁系统(对象+JDBC)
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。本文目录​​覆盖知识​​​​项目需求​​​​设计步骤 ​​​​开发思路 ​​​​类的属性和方法​​​​代码......
  • 大厂面试,欢聚时代四年多经验的Java面经
    欢聚时代一面(1h)先做下自我介绍,固定环节面试官:既然你用Java语言,那我们先讲点Java基础的东西吧,你说下Java有哪些锁?按照机制区分的话,Java中包含的锁可以分为公平锁和非公平锁......
  • 使用 Java 类生成 MD5 加密字符
    MD5常用于密码加密,例如,在注册时可以将密码转为MD5再放入数据库,在登录时校验登录密码和数据库存放的加密密码是否一致,来保证密码在数据库中存储的安全性。下面介绍使用......
  • SAP Java Connector 的配置指南
    SAPJava连接器(JCo)3.1需要Java运行时环境(JRE)版本8或11。有关受支持平台和Java运行时环境的最新详细列表,请参阅SAP说明2786882。最新版本的SAPJava......