处理流,缓冲流,序列化工具

228 阅读1分钟

一、处理流

二、缓冲流

三个类经常用于处理数据流:

三、序列化工具:

 public class SerializeUtil {
 
/**
 * 序列化
 *
 * @param object
 * @return
 */
public static String serialize(Object object) {

    ByteArrayOutputStream bos = new ByteArrayOutputStream();

    ObjectOutputStream oos = null;

    try {

        oos = new ObjectOutputStream(bos);

        oos.writeObject(object);

        oos.flush();

        return new BASE64Encoder().encode(bos.toByteArray());

    } catch (IOException e) {

        System.out.println("序列化错误");
        e.printStackTrace();

    } finally {

        try {

            if (oos != null) {

                oos.close();

            }

            bos.close();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    return null;

}


/**
 * 反序列化
 *
 * @param object
 * @return
 */
public static Object unserialize(String object) {

    ByteArrayInputStream bis = null;

    ObjectInputStream ois = null;

    try {

        bis = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(object));

        ois = new ObjectInputStream(bis);

        Object o = ois.readObject();

        return o;

    } catch (IOException e) {

        System.out.println("反序列化错误:IO异常");
        e.printStackTrace();

    } catch (ClassNotFoundException e) {

        System.out.println("反序列化错误:类找不到");
        e.printStackTrace();

    } finally {

        try {

            if (bis != null) {

                bis.close();
            }
            if (ois != null) {
                ois.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    return null;

}

}