首页 > 代码库 > java对象与字符串的序列化和反序列化

java对象与字符串的序列化和反序列化

 

package com.mzj.practice.utils;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class SerializeUtils {    private static final Logger LOG = LoggerFactory.getLogger(SerializeUtils.class);    /**     * 对象序列化为字符串     */    public static String serialize(Object obj) throws Exception {        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();        ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);        objectOutputStream.writeObject(obj);        String serStr = byteArrayOutputStream.toString("UTF-8");        LOG.info("对象obj:【" + obj + "】序列化serStr:【" + serStr + "】");        objectOutputStream.close();        byteArrayOutputStream.close();        return serStr;    }    /**     * 字符串 反序列化为 对象     */    public static Object unSerialize(String serStr) throws Exception {        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(serStr.getBytes("UTF-8"));        ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);        Object obj = objectInputStream.readObject();        LOG.info("对象obj:【" + obj + "】反序列化serStr:【" + serStr + "】");        objectInputStream.close();        byteArrayInputStream.close();        return obj;    }}

 

java对象与字符串的序列化和反序列化