Object,byte[],ByteBuffer之间的转换
来源:互联网 发布:亿赞普大数据 编辑:程序博客网 时间:2024/05/23 14:31
package cn.vicky.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.nio.ByteBuffer; import org.apache.mina.core.buffer.IoBuffer; /** * 对象序列化,反序列化(序列化对象转byte[],ByteBuffer, byte[]转object * * @author Vicky * @email eclipser@163.com */ public class ByteUtil { public static byte[] getBytes(Object obj) throws IOException { ByteArrayOutputStream bout = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(bout); out.writeObject(obj); out.flush(); byte[] bytes = bout.toByteArray(); bout.close(); out.close(); return bytes; } public static Object getObject(byte[] bytes) throws IOException, ClassNotFoundException { ByteArrayInputStream bi = new ByteArrayInputStream(bytes); ObjectInputStream oi = new ObjectInputStream(bi); Object obj = oi.readObject(); bi.close(); oi.close(); return obj; } public static Object getObject(ByteBuffer byteBuffer) throws ClassNotFoundException, IOException { // 需要mina框架的IoBuffer IoBuffer buffer = IoBuffer.allocate(byteBuffer.capacity()).setAutoExpand(true); // 自动展开 for (int i = 0; i < byteBuffer.capacity(); i++) { byteBuffer.position(i); buffer.put(byteBuffer.get()); } buffer.position(0); InputStream input = buffer.asInputStream(); ObjectInputStream oi = new ObjectInputStream(input); Object obj = oi.readObject(); input.close(); oi.close(); return obj; } public static ByteBuffer getByteBuffer(Object obj) throws IOException { byte[] bytes = ByteUtil.getBytes(obj); ByteBuffer buff = ByteBuffer.wrap(bytes); return buff; } }
- Object,byte[],ByteBuffer之间的转换。
- Object,byte[],ByteBuffer之间的转换
- bytebuffer获得byte[]的操作
- File,byte,Object之间的相互转化
- java ByteBuffer和byte 数组相互转换
- object 转换成byte[] 的方法
- Java_File,byte[],Object间的转换
- c# object与byte[] 间的转换
- Object转换byte[],byte[]转换Object的传统转换以及AMF的实现方式.(1)
- string与byte[]之间的转换
- Image 和byte[]之间的转换
- Stream 和 byte[] 之间的转换
- 字符串与byte[]之间的转换
- Stream 和 byte[] 之间的转换
- Stream 和 byte[] 之间的转换
- String 与Byte[]数组之间的转换
- byte[]和String类型之间的转换
- 字符串与byte[]之间的转换
- 判断一个正整数是否为素数
- 获得Oracle数据库的DBID
- 规划生活
- Mysql5 默认用utf8编码却插入不了中文的解决方法(暂时)
- iOS6和Xcode4.5初体验
- Object,byte[],ByteBuffer之间的转换
- iOS高效开发必备的10款Objective-C类库
- iOS6.0 xcode4.5 设置 横屏
- 计算机科学与技术专业考研方向
- pb与mysql / pb连数据库编码设置方法
- axis2 webservice学习笔记一
- Activity,Service,BroadcastReceiver和ContentProvider都在(应用主进程的)主线程(UI线程)
- 一道线段树维护区间操作的题 soj4234 01Pairs
- 什么是可重入函数和不可重入函数(转)