使用kryo序列化

pom.xml 配置

<dependency>
    <groupId>com.esotericsoftware</groupId>
    <artifactId>kryo</artifactId>
    <version>3.0.3</version>
</dependency>

android配置
build.gradle

dependencies {
    compile 'com.esotericsoftware:kryo:3.0.3'
}

github地址

快速入手

Kryo kryo = new Kryo();
// 写
Output output = new Output(new FileOutputStream("file.data"));
SomeClass someObject = ...
kryo.writeObject(output, someObject);
output.close();
// 读
Input input = new Input(new FileInputStream("file.data"));
SomeClass someObject = kryo.readObject(input, SomeClass.class);
input.close();

序列化

 /**
     * 对象序列化
     * 
     * @param value
     * @return
     */
    protected byte[] value(Object value) {
        try {
            Kryo kryo = new Kryo();
            byte[] buffer = new byte[2048];
            Output output = new Output(buffer);
            kryo.writeClassAndObject(output, value);
            return output.toBytes();
        } catch (Exception e) {
            return null;
        }
    }
/**
 * 对象反序列化
 * 
 * @param value
 * @return
 */
protected Object object(byte[] value) {
    try {
        Kryo kryo = new Kryo();
        Input input = new Input(value);
        return kryo.readClassAndObject(input);
    } catch (Exception e) {
        return null;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容