java对象与字符串之间的序列化和反序列化
2016-02-24 15:45
399 查看
package com.lifeng.seri; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; import org.junit.Test; import com.lifeng.domain.Department; public class Serial2Obj { /** * Object对象与string之间的序列化和反序列化 * @throws IOException * @throws ClassNotFoundException */ @Test public void obj2String() throws IOException, ClassNotFoundException{ //Object 序列化成string Department dept = new Department("1","开发部","开发"); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteArrayOutputStream); out.writeObject(dept); String deptString = byteArrayOutputStream.toString("ISO-8859-1");//必须是ISO-8859-1 System.out.println("===>"+deptString); //String 的反序列化 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(deptString.getBytes("ISO-8859-1")); ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); Department dept2 = (Department) objectInputStream.readObject(); System.out.println(dept2); System.out.println(dept2.getDeptID()+"=="+dept2.getDeptName()+"=="+dept2.getDeptDesc()); out.close(); byteArrayOutputStream.close(); objectInputStream.close(); byteArrayInputStream.close(); } }
相关文章推荐
- Java PO VO DAO BO POJO
- openCV_java Canny边缘检测
- java中InputStream转化为byte[]数组
- Java7、Java8新特性了解
- Red Hat上安装Eclipse经验总结
- java中堆和栈详解
- Java 数组在内存中的结构
- 安卓项目中的R.java文件丢失如何解决
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
- java执行速度相比较慢的原因
- java中抽象类(abstract class)和接口(interface)
- 解析Java中volatile关键字的作用(转载)
- 快速排序算法解析与实现
- java 实现文件的下载功能
- java I/O流
- Spring源码解析 - AntPathMatcher
- spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途
- Java泛型通配符解惑
- Java 泛型的理解与总结
- java枚举使用详解