资讯专栏INFORMATION COLUMN

序列化05序列化的练习

Moxmi / 2819人阅读

摘要:练习序列化集合当我们想在文件中保存多个对象的时候可以把多个对象存储到一个集合中对集合进序列化和反序列化分析定义一个存储对象的集合往集合中存储对象创建一个序列化流对象使用对象中的方法对集合进行序列化创建一个反序列化对象使用对象中的方法读取文件

package com.itheima.demo04.ObjectStream;

import java.io.*;
import java.util.ArrayList;

/*

练习:序列化集合
    当我们想在文件中保存多个对象的时候
    可以把多个对象存储到一个集合中
    对集合进序列化和反序列化
分析:
    1.定义一个存储Person对象的ArrayList集合
    2.往ArrayList集合中存储Person对象
    3.创建一个序列化流ObjectOutputStream对象
    4.使用ObjectOutputStream对象中的方法writeObject,对集合进行序列化
    5.创建一个反序列化ObjectInputStream对象
    6.使用ObjectInputStream对象中的方法readObject读取文件中保存的集合
    7.把Object类型的集合转换为ArrayList类型
    8.遍历ArrayList集合
    9.释放资源

*/
public class Demo03Test {

public static void main(String[] args) throws IOException, ClassNotFoundException {
    //1.定义一个存储Person对象的ArrayList集合
    ArrayList list = new ArrayList<>();
    //2.往ArrayList集合中存储Person对象
    list.add(new Person("张三",18));
    list.add(new Person("李四",19));
    list.add(new Person("王五",20));
    //3.创建一个序列化流ObjectOutputStream对象
    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("10_IOlist.txt"));
    //4.使用ObjectOutputStream对象中的方法writeObject,对集合进行序列化
    oos.writeObject(list);
    //5.创建一个反序列化ObjectInputStream对象
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream("10_IOlist.txt"));
    //6.使用ObjectInputStream对象中的方法readObject读取文件中保存的集合
    Object o = ois.readObject();
    //7.把Object类型的集合转换为ArrayList类型
    ArrayList list2 = (ArrayList)o;
    //8.遍历ArrayList集合
    for (Person p : list2) {
        System.out.println(p);
    }
    //9.释放资源
    ois.close();
    oos.close();
}

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76269.html

相关文章

  • 动态规划练习题-加分二叉树

    摘要:动态规划练习题总题目描述设一个个节点的二叉树的中序遍历为,其中数字为节点编号。若某个子树为空,规定其加分为,叶子的加分就是叶节点本身的分数。试求一棵符合中序遍历为且加分最高的二叉树。 动态规划练习题-总 题目描述设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及...

    Miracle 评论0 收藏0
  • 雪花算法(05)毫秒内序列

    摘要:前面的内容把雪花算法的时间部分和机器信息部分都生成了,下面来生成最后一部分,就是毫秒内的序列。这样毫秒内的序列数就算获取成功了。 前面的内容把雪花算法的时间部分和机器信息部分都生成了,下面来生成最后一部分,就是毫秒内的序列。什么意思呢?我们在生成时间部分获取时间戳的时候,使用 long now = System.currentTimeMillis(); 获取,是个毫秒级的时间戳,但是即...

    时飞 评论0 收藏0
  • 用 Django 零成本快速实现 API 服务

    摘要:为什么要用对于序列化数据的解决方案已经有以下几种内建序列化器它可以序列化但无法直接序列化单独的数据。与对依旧有效默认为用法转换为字符串。 写后台的时候经常需要写数据接口,这时就需要用到序列化工具, 而默认到序列化工具对 Django model 的序列化支持有限。 同时 Django 本身的序列化工具我在使用时也觉得有诸多不便,因此我尝试自己写了一个快速序列化工具,帮助我快速简单的实现...

    Worktile 评论0 收藏0
  • Python列化模型数据为JSON

    摘要:下面我们来说说如何使用来减轻序列化模型的工作量。主要包括如下个步骤定义模式序列化模型下面我们分别来看看。不得不说这个库对于序列化模型其实挺实用的。 原文地址: http://52sox.com/use-python-serialization-orm-data-to-json/ 相信使用Python做Web开发的朋友都会遇到这样1个问题,那就是在项目开发中使用模型框架,比如SQLAlc...

    nifhlheimr 评论0 收藏0

发表评论

0条评论

Moxmi

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<