本文实例讲述了java对象序列化操作。分享给大家供大家参考,具体如下:
在java中可以将对象进行序列化操作
要使对象能够被序列化,那么被序列化的对象要实现接口可序列化的,此接口位于java包中
pakacge演示; 进口java.io.Serializable;/* * *实现了可序列化的接口的演示类 */公共类Demo1实现Serializable { 私人字符串名称; 私人字符串性; 私人int年龄; 公共Demo1 () { } 性公共Demo1(字符串名称,字符串,整数年龄) { this.setName(名称); this.setSex(性); this.setAge(年龄); } 公共空间setName(字符串名称) { this.name=名称; } 公共字符串getName () { 返回this.name; } 公共空间setSex(字符串性) { 这一点。性别=性; } 公共字符串getSex () { 返回this.sex; } 公共空间setAge (int年龄) { 这一点。年龄=年龄; } 公共int getAge () { 返回this.age; } } >之前序列化对象案例程序,网上的教程是将序列化的对象输出到文件,但一般我们是将序列化的对象存储在字符串中,并转存到数据库中,所以这里我用ByteArrayOutputStream对象替代文件输出对象
进口demo.Demo1; 进口. io . *; 公共类指数 { 公共静态void main (String [] agr) { test1 (); } 公共静态孔隙test1 () { Demo1 Demo1=new Demo1(“谭勇”,“男”,23); 尝试{//实例化一个中ByteArray对象 ByteArrayOutputStream byteOut=new ByteArrayOutputStream ();//实例化对象序列化输入流,并设置序列化后的对象输出到byteOut对象 ObjectOutputStream objOutputStream=new ObjectOutputStream (byteOut);//将对象写入到byteOut对象中 objOutputStream.writeObject (demo1);//序列化后的对象转字符串存储 字符串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); }捕捉(IOException e) { System.out.println (e.getMessage ()); }捕捉(ClassNotFoundException e) { System.out.println (e.getMessage ()); } } } >之前运行结果:
更多的java相关内容感兴趣的读者可查看本站专题:《java面向对象程序设计入门与进阶教程》、《java数据结构与算法教程》、《java操作DOM节点技巧总结》,《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
java对象序列化操作实例分析