使用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. 用Struts2实现列表显示和分页功能

    引用自http://www.2cto.com/kf/201309/243730.html BlogDAO.java文件 /** 根据条件(默认一张表所有数据)返回多条记录 */ public List ...

  2. iOS如何解析crash文件中的地址

    1.目录中存放app文件 2.打开文件 3.执行命令otool -arch arm64 -l ./QQStock  | grep -B 1 -A 10 "LC_SEGM" | gr ...

  3. solidity 语法学习

    基于 cryptozombies.io ZombieFactory pragma solidity ^0.4.19; contract ZombieFactory { // 事件, web3.js 可 ...

  4. 带你从零学ReactNative开发跨平台App开发[react native SqlLite 终极运用](十二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  5. 关于Redo Log的基本操作

    1.创建新的日志组 alter database add logfile group 4 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo41.log') ...

  6. python基础_类型_list

    #list 类似数组array,以[]扩起来逗号分隔 a = ['a','b','c'] #常用函数 a.append('c') #在list最后增加一个元素,结果是['a','b','c','c'] ...

  7. Linux stat命令详解

    stat:查看文件或者文件系统的状态  -->可以查看时间等属性 stat常见命令参数 Usage: stat [OPTION]... FILE... Display file or file ...

  8. win7下使用手动安装composer

    假设我们的php放置在D:\php 目录下, 1.添加环境变量,桌面--> 我的电脑右键---->属性 2.点击高级系统设置 3.点击环境变量 4.选择path,在变量值里面追加内容:  ...

  9. (转)ParallaxOcclusionMapping( POM ) DX9(转)

    http://blog.csdn.net/xujiezhige/article/details/7326606

  10. fun()可拆分赋值 fun()可以拆, 变成 fun 和 括号, fun 可以赋值

    2. 函数名可以赋值给其他变量   --->   就是 func()可以拆 def fun (): print("哈哈") a = fun # 拆分 fun()的    fu ...