现在的位置: 首页 > 编程语言 > 正文

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

2020年02月13日 编程语言 ⁄ 共 1923字 ⁄ 字号 评论关闭

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

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

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

pakacge demo;import java.io.Serializable;/** * 实现了Serializable 接口的demo类 */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程序设计有所帮助。

本文标题: java对象序列化操作实例分析

以上就上有关java对象序列化操作实例分析的相关介绍,要了解更多java,对象序列化内容请登录学步园。

抱歉!评论已关闭.