使用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();

        }

    }

}

Java序列化反序列化对象流ObjectInputStream、ObjectOutputStream的更多相关文章

  1. 初尝Java序列化/反序列化对象

    看个类: package com.wjy.bytes; import java.io.Serializable; public class ObjTest implements Serializabl ...

  2. 零基础学习java------day17------缓冲字节流,转换字节流,简化流,缓冲字符流,序列化和对象流

    1. 缓冲字节流 缓冲区:缓冲区实质上是一个数组.通常它是一个字节数组,但是也可以使用其他种类的数组.但是一个缓冲区不 仅仅 是一个数组.缓冲区提供了对数据的结构化访问,而且还可以跟踪系统的读/写进程 ...

  3. Java IO 流 -- 数据流和对象流 DataOutputStream ObjectOutputStream

    DataOutputStream 和 ObjectOutputStream的共同点是: 1.写出后读取 2.读取顺序和写出一致 数据流操作: // 写入 ByteArrayOutputStream b ...

  4. java序列化反序列化深入探究

    When---什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化.写一个排序算法也用不到序列化和反序列化.但是当你想要将一个对象进行持久化写入文件,或者你想 ...

  5. java序列化反序列化深入探究(转)

    When---什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化.写一个排序算法也用不到序列化和反序列化.但是当你想要将一个对象进行持久化写入文件,或者你想 ...

  6. java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子

    目录 背景 测试 环境 工具 说明 结果 结论 xstream简单教程 准备 代码 protobuf简单教程 快速入门 下载.exe编译器 编写.proto文件 利用编译器编译.proto文件生成ja ...

  7. json 常用的序列化 反序列化对象 代码

    序列化对象: ---------------------------------------------------------- Person p = new Person() { Name = & ...

  8. Java——序列化 反序列化

    记录一下: 先粘两个比较繁琐的方法: put: public void putSerializableObject(String key, Object value, int expireTime) ...

  9. Java 序列化 反序列化 历史版本处理

    直接引用  http://www.cnblogs.com/xdp-gacl/p/3777987.html

随机推荐

  1. vue生命周期理解

    https://segmentfault.com/a/1190000008010666?utm_source=tag-newest

  2. h5新属性

    <!DOCTYPE html> <html lang="en"> <head> <meta id="viewport" ...

  3. 使用catsup快速建立个人博客

    一.安装 time: 2016-01-2 20:30 1.使用pip安装catsup:(sudo) pip install catsup 从旧版本升级到新版本:(sudo) pip install c ...

  4. EOS下控制台以及图形界面打印sql语句

    EOS下控制台以及图形界面打印sql语句 场景需求:在eos中打印sql语句,包括数据实体,查询实体和命名sql的sql语句. 所需资源: P6spy:负责拦截sql,并打印. Sqlprofiler ...

  5. adb调试桥(5037端口)

    path里添加路径:../platform 查看设备 adb devices 杀死adb:adb kill -server 启动adb:adb start- server adb不能启动解决办法: 1 ...

  6. CVE-2015-3864漏洞利用分析(exploit_from_google)

    title: CVE-2015-3864漏洞利用分析(exploit_from_google) author: hac425 tags: CVE-2015-3864 文件格式漏洞 categories ...

  7. idea springboot应用启动

    在idea里启动springboot应用最好使用 spring-boot:run 如果通过运行main方法启动应用,会找不到页面

  8. mysql 客户端

    MySQL是基于C/S模式的数据库管理系统.MySQL公司开发了众多的客户端软件来帮助用户管理MySQL软件,最著名的就是 MySQL Command Line Client 和 MySQL-Work ...

  9. sqlserver 统计信息自动更新 ----trace flag 2371

    对于已经应用的表(非临时表)统计信息更新条件为500+20%,具体更新条件 If the statistics is defined on a regular table, it is out of ...

  10. GreenPlum 5.0的安装

    基本环境: server IP MDW 172.16.16.31 SDW1 172.16.16.34 SDW2 172.16.16.35 1:检查操作系统是否符合要求,以及系统设置. 我这里使用的系统 ...