博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java序列化反序列化对象流ObjectInputStream、ObjectOutputStream
阅读量:6161 次
发布时间:2019-06-21

本文共 1456 字,大约阅读时间需要 4 分钟。

使用Person类作为Object进行示范

注意:Object要能被写入流需要实现Serializable接口

存储的文件后缀名为.ser

示范Person

import java.io.Serializable;

public class Person implements Serializable{

    private static final long serialVersionUID = 1L;
    String name;
    int age;
    boolean sex;//true means male  false means female
    Person(String name,int age,boolean sex)
    {
        this.name=name;
        this.age=age;
        this.sex=sex;
    }
    void print()
    {
        System.out.println("姓名:"+name);
        System.out.println("年纪:"+age);
        System.out.println("性别:"+sex);
    }
}

将Person对象序列化存储到文件

示范Serializable_Test 类

import java.io.File;

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

public class Serializable_Test {

    public static void main(String[] args) {

        try {
            Person p=new Person("张三",18,true);
            File f=new File("D:\\objecttest.ser");
            FileOutputStream fos=new FileOutputStream(f);
            ObjectOutputStream oos=new ObjectOutputStream(fos);
            oos.writeObject(p);
            oos.close();
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 

从文件中读取对象,反序列化Deserializable

示范Deserializable_Test类

import java.io.File;

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

public class Deserializable_Test {

    public static void main(String[] args) {

        try {
            File f=new File("d:\\objecttest.ser");
            FileInputStream fis=new FileInputStream(f);
            ObjectInputStream ois=new ObjectInputStream(fis);
            Person p=(Person)ois.readObject();
            p.print();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 

转载于:https://www.cnblogs.com/HumorChen/p/10550190.html

你可能感兴趣的文章
POJ 3304 Segments
查看>>
linux shell if 参数
查看>>
Overview of package util.concurrent Release 1.3.4.
查看>>
fastmm使用
查看>>
初步接触XCode和IPhone Simulator
查看>>
委托、Lambda表达式、事件系列06,使用Action实现观察者模式,体验委托和事件的区别...
查看>>
使用HTML5和CSS3碎语
查看>>
TDiocpCoderTcpServer 使用
查看>>
新书推荐:可爱的Python
查看>>
OpenGL ES应用开发实践指南:iOS卷
查看>>
DBI接口和DPI接口的区别
查看>>
Sql: 去除字符串中的相同的字符串函數
查看>>
41.D3D数学库 && GameProject7
查看>>
apt系统中sources.list文件的解析
查看>>
字符编码笔记:ASCII,Unicode和UTF-8
查看>>
Java Web 高性能开发,第 1 部分: 前端的高性能
查看>>
用SYS本地登录或远程登录引起ORA-01031错误
查看>>
redmine-1.2.2安装代码评审插件
查看>>
svn proxy
查看>>
#undef
查看>>