当前位置: 首页 > news >正文

龙华做企业网站/win10最强优化软件

龙华做企业网站,win10最强优化软件,龙华新区网站制作,要找企业做网站应该注意什么---------------------------java集合序列化-----------------------------当我们要序列化多个对象时,一个一个的写和读太麻烦, 如果我们使用遍历来读取时,当对象没有对象可读取的时候,会出现EOFException异常。这个时候我们就可以…

---------------------------java集合序列化-----------------------------

 

 

当我们要序列化多个对象时,一个一个的写和读太麻烦,

如果我们使用遍历来读取时,当对象没有对象可读取的时候,会出现EOFException异常。

 

这个时候我们就可以使用集合存储多个对象,然后再序列化集合,最后我们只需要对集合做读取就可以,

在对集合进行遍历,获取到具体的每一个对象。这就是集合序列化

 

 

例子:

 

 

public  class SerilDemo2 {

 

    public  static  void main(String[] args) {

       

        //writerObject();

        //readerObject();

        //输出

        //Person [name=李昆鹏, age=22]

        //Person [name=李昆鹏1, age=23]

        //Person [name=李昆鹏2, age=24]

       

        //通过集合来写入多个对象,并且读取

        writerObject1();

        readerObject1();

        //输出结果是一样的,当对象数量足够多的时候,使用集合会非常方便

        //Person [name=李昆鹏, age=22]

        //Person [name=李昆鹏1, age=23]

        //Person [name=李昆鹏2, age=24]

    }

   

    /**

     * 序列化流

     */

    public  static  void writerObject() {

       

        ObjectOutputStream oos = null;

        try {

           //创建序列化流对象

           oos = new ObjectOutputStream(new FileOutputStream("person.txt"));

           //创建多个person类对象,并且给属性赋值

           Person p =new Person();

           p.setName("李昆鹏");

           p.setAge(22);

          

           Person p1 =new Person();

           p1.setName("李昆鹏1");

           p1.setAge(23);

          

           Person p2 =new Person();

           p2.setName("李昆鹏2");

           p2.setAge(24);

           //调用序列化流的写入方法

           //字节流是不需要刷新的

           //写入多个对象

           oos.writeObject(p);

           oos.writeObject(p1);

           oos.writeObject(p2);

        } catch (IOException e) {

           e.printStackTrace();

        }finally {

          

           try {

               if(oos != null)

               oos.close();

           } catch (IOException e) {

               e.printStackTrace();

           }

        }

       

    }

   

    /**

     * 反序列化

     */

    public  static  void readerObject() {

       

        ObjectInputStream oos = null;

        try {

           //创建序列化流对象

           oos = new ObjectInputStream(new FileInputStream("person.txt"));

           //从反序列化的流中来读取数据,返回的是Object类型,需要处理异常

           //读取多个对象

           Object obj = oos.readObject();

           Object obj1 = oos.readObject();

           Object obj2 = oos.readObject();

           //当对象已经读取完毕后再读取时就会出现EOFException异常

           //所以我们使用循环来读取多个对象时很不方便

           //Object obj3 = oos.readObject();

          

           Person p1 = (Person)obj;

           System.out.println(p1);

           System.out.println(obj1);

           System.out.println(obj2);

           //当对象已经读取完毕后再读取时就会出现EOFException异常

           //System.out.println(obj3);

        } catch (IOException e) {

           e.printStackTrace();

        } catch (ClassNotFoundException e) {

           e.printStackTrace();

        }finally {

          

           try {

               if(oos != null)

               oos.close();

           } catch (IOException e) {

               e.printStackTrace();

           }

        }

       

    }

   

   

    /**

     * 反序列化

     * 通过循环来读取多个对象

     */

    public  static  void readerObject1() {

       

        ObjectInputStream oos = null;

        try {

           //创建序列化流对象

           oos = new ObjectInputStream(new FileInputStream("person.txt"));

           //从反序列化的流中来读取数据,返回的是Object类型,需要处理异常

           //当通过集合来写入多个对象时,读取时返回的是存储多个对象的集合

           //通过集合来读取多个对象

           Object obj = oos.readObject();

           //目前的obj是多个对象的集合,我们将它强转并用集合接收

           ArrayList<Person> al = (ArrayList<Person>)obj;

           //遍历集合

           for (Person p : al) {

               //打印单个对象

               System.out.println(p);

           }

          

          

        } catch (IOException e) {

           e.printStackTrace();

        } catch (ClassNotFoundException e) {

           e.printStackTrace();

        }finally {

          

           try {

               if(oos != null)

               oos.close();

           } catch (IOException e) {

               e.printStackTrace();

           }

        }

       

    }

   

   

    /**

     * 序列化流

     * 写入多个对象

     * 通过集合存储多个对象

     */

    public  static  void writerObject1() {

       

        ObjectOutputStream oos = null;

        try {

           //创建序列化流对象

           oos = new ObjectOutputStream(new FileOutputStream("person.txt"));

          

           //创建存储Person对象的集合

           ArrayList<Person> al = new ArrayList<Person>();

           //创建多个person类对象,并且给属性赋值

           Person p =new Person();

           p.setName("李昆鹏");

           p.setAge(22);

          

           Person p1 =new Person();

           p1.setName("李昆鹏1");

           p1.setAge(23);

          

           Person p2 =new Person();

           p2.setName("李昆鹏2");

           p2.setAge(24);

          

           //将对象写入集合中

           al.add(p);

           al.add(p1);

           al.add(p2);

          

           //调用序列化流的写入方法

           //字节流是不需要刷新的

           //写入多个对象对象的集合,通过集合我们可以读取到多个对象

           oos.writeObject(al);

          

        } catch (IOException e) {

           e.printStackTrace();

        }finally {

          

           try {

               if(oos != null)

               oos.close();

           } catch (IOException e) {

               e.printStackTrace();

           }

        }

       

    }

   

}

 

 

http://www.jmfq.cn/news/4785715.html

相关文章:

  • 界面设计做的好的网站/百度seo高级优化
  • 网站建设与管理模拟题1/百度在线扫题入口
  • 在线绘制流程图的网站/seo01网站
  • 网站变exe文件怎么做/百度站长工具怎么用
  • 天津装修公司排名前十强/谷歌seo快速排名软件首页
  • 怎么看网站的建设时间/网络软文范文
  • 设计作品集模板/seo网络推广报价
  • wordpress 屏蔽搜索引擎/宁波seo
  • 做网站的参考文献有哪些/竞价托管资讯
  • 软件开发过程中存在哪些问题/湖南网站seo推广
  • 无锡网站优化公司/合肥优化
  • 电商网站建设毕业设计/小姐关键词代发排名
  • 肇庆网站快速排名提升/网站seo查询站长之家
  • 查询网站备案时间/微信软文模板
  • 做响应式网站的公司/网页制作接单平台
  • 做网站用的动漫资料/微信客户管理系统
  • 体育网站建设的必要性/网络推广的工作内容
  • 网站站长登录方式/数据分析软件哪个最好用
  • 怎么给公司做微网站/营销策划36计
  • 建设小说网站费用/广州专业网络推广公司
  • 电影里的做视频在线观看网站/seo视频教程百度网盘
  • ps做网站框架搭建/b2b网站平台
  • 房产大全/seo在线外链
  • 沈阳网页设计招聘/seo新人怎么发外链
  • 网站建设流程所用工具/手机百度seo快速排名
  • 茂名模板建站代理/网站推广的基本方法有哪些
  • 网站推广的方法和技巧/长尾词在线挖掘
  • 网站建设的目标是什么 提供了哪些栏目/汕头网站推广排名
  • 五金东莞网站建设技术支持/今日nba比赛直播
  • nginx缓存方案 WordPress/武汉seo排名优化公司