栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java对象序列化操作实例分析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java对象序列化操作实例分析

本文实例讲述了java对象序列化操作。分享给大家供大家参考,具体如下:

在java中可以将对象进行序列化操作

要使对象能够被序列化,那么被序列化的对象要实现接口Serializable,此接口位于java.io包中

pakacge demo;
import java.io.Serializable;

public class Demo1 implements Serializable
{
    private String name;
    private String sex;
    private int age;
    public Demo1()
    {
    }
    public Demo1(String name,String sex,int age)
    {
 this.setName(name);
 this.setSex(sex);
 this.setAge(age);
    }
    public void setName(String name)
    {
 this.name = name;
    }
    public String getName()
    {
 return this.name;
    }
    public void setSex(String sex)
    {
 this.sex = sex;
    }
    public String getSex()
    {
 return this.sex;
    }
    public void setAge(int age)
    {
 this.age = age;
    }
    public int getAge()
    {
 return this.age;
    }
}

序列化对象案例程序,网上的教程是将序列化的对象输出到文件,但一般我们是将序列化的对象存储在字符串中,并转存到数据库中。所以这里我用ByteArrayOutputStream 对象替代文件输出对象

import demo.Demo1;
import java.io.*;
public class Index
{
    public static void main(String[] agrs)
    {
 test1();
    }
    public static void test1()
    {
 Demo1 demo1 = new Demo1("谭勇","男",23);
 try{
     //实例化一个ByteArray 对象
     ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
     //实例化对象序列化输入流,并设置序列化后的对象输出到byteOut对象
     ObjectOutputStream objOutputStream = new ObjectOutputStream(byteOut);
     //将对象写入到byteOut 对象中
     objOutputStream.writeObject(demo1);
     //序列化后的对象转String 存储
     String strObj = byteOut.toString("ISO-8859-1");
     //关闭流
     objOutputStream.close();
     byteOut.close();
     
     //实例一个序列化对象输入流
     ByteArrayInputStream byteInputStream = new ByteArrayInputStream(strObj.getBytes("ISO-8859-1"));
     //序列化对象输入流
     ObjectInputStream objInput = new ObjectInputStream(byteInputStream);
     //将序列化对象转对象
     Demo1 demo1_ser = (Demo1)objInput.readObject();
     //关闭流
     objInput.close();
     byteInputStream.close();
     System.out.println(demo1_ser.getName());
     System.out.println(strObj);
 }catch(IOException e){
     System.out.println(e.getMessage());
 }catch(ClassNotFoundException e){
     System.out.println(e.getMessage());
 }
    }
}

运行结果:

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/136194.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号