java 游戏高级编程中 的对象串行化 存取
来源:互联网 发布:日本电影推荐知乎 编辑:程序博客网 时间:2024/05/22 20:27
数据存取,没想象中的那么复杂,java中已经有很好的方法。转自《java游戏高级编程》 清华大学出版社
package tools;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.io.Serializable;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutputStream;/** * * @author ttwings * @version 0.1 * @since 2015-10-19 上午9:04:50 * */public class SerializableLib {public static byte[] compress(Serializable serializable) throws IOException{ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();save(serializable ,byteArrayOutputStream);return byteArrayOutputStream.toByteArray();}/** * 保存数据 * @param serializable * @param outputStream * @throws IOException */public static void save(Serializable serializable,OutputStream outputStream) throws IOException{ObjectOutputStream objectOutputStream = null;try{objectOutputStream = new ObjectOutputStream(new GZIPOutputStream(new BufferedOutputStream(outputStream)));}finally{if(objectOutputStream != null){objectOutputStream.close();}else{outputStream.close();}}}/** * 读取数据 * @param inputStream 输入数据流 * @return * @throws ClassNotFoundException * @throws IOException */public static Serializable load(InputStream inputStream) throws ClassNotFoundException,IOException{ObjectInputStream objectInputStream = null;try{objectInputStream= new ObjectInputStream(new GZIPInputStream(new BufferedInputStream(inputStream)));return (Serializable) objectInputStream.readObject();}finally{if(objectInputStream != null){objectInputStream.close();}else{inputStream.close();}}}}ps:做了初步测试,完全可以用。200 M 多的地图数据,直接压缩成 2M 大小的文件。。 = = 。
0 0
- java 游戏高级编程中 的对象串行化 存取
- java中对象的串行化和反串行化
- java中对象的串行化(Serialization)
- java中对象的串行化
- java对象的串行化
- java串行化——Java中对象的串行化(Serialization)和transient关键字
- Java中关于对象串行化的一些讨论
- Java中对象的串行化(Serialization)
- java对象串行化
- Java 对象串行化
- java 对象串行化
- java 对象的串行化(Serialization)
- Java对象的串行化(Serialization)
- 对象的串行化
- 对象的串行化
- 对象的串行化
- java中串行化的例子
- java 实现串行化对象
- linux shell 实现多线程
- 带包文件的编译和运行
- 创建学生表、课程表、成绩表sql语句
- 23.Android 软键盘工具ImeUtil
- jar包开发,导入文件冲突
- java 游戏高级编程中 的对象串行化 存取
- 通过JLink的SW实现printf函数
- Git:代码冲突常见解决方法
- Android属性动画完全解析(上),初识属性动画的基本用法
- QtCreator创建的GUI Project工程文件介绍
- 使用Nexus创建Maven私有仓库
- sprintf知识
- html/css笔记
- UI星辰:疯狂食材总结