转载自:http://blog.csdn.net/eclipser1987/article/details/5350007
- 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;
-
-
-
-
-
-
-
- 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 {
-
- 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;
- }
-
- }
分享到:
相关推荐
ios-byteBuffer [![CI状态]( Lee / ios-byteBuffer.svg?style = flat)]( Lee / ios-byteBuffer ) 用法 #分配 ByteBuffer *buffer = [ByteBuffer initWithOrder: ByteOrderLittleEndian]; #输入数据 - ( ...
Android
仿安卓ByteBuffer 完美组包、拆包
使用nio byteBuffer 实现按行读取文件(大文件) 在window/linux/macOS上均测试通过 对于中文乱码也已处理成功 完整注释,可随需求更改 有问题请邮件:mly610865580@126.com
java实现使用javolution完成数据接收过程中大小端转换的问题
import ByteBuffer from 'byte-buffer' ; const b = new ByteBuffer ( ) ; 在CommonJS环境中: const ByteBuffer = require ( 'byte-buffer' ) ; const b = new ByteBuffer ( ) ; 当包含在浏览器环境中
主要解决从流中获取数据,缓存,拆解,可用于TCP粘包问题
【IT十八掌徐培成】Java基础第26天-05.ByteBuffer-mark-pos-limit-cap-flip.zip
java socket处理硬件传过来的16进制数据的工具类,包含大小端转换、byte[]数组转换为16进制的字符串、byte[]转ByteBuffer、16进制字符串转换为byte数组等
易语言汇编版ByteBuffer源码。主要用于各种网络协议的组包 具体用法可以点上面的网址 功能和jAVA的一样。@10371178。Tags:易语言汇编版ByteBuffer源码。
ByteBuffer jpegBuffer = ByteBuffer.wrap(rgbBuffer); bmp.copyPixelsFromBuffer(jpegBuffer); canvas.drawBitmap(bmp, null, rect, null); // draw camera bitmap native接口如下 package lzt.drv; public class ...
本文实例讲述了Android在JNI中使用ByteBuffer的方法。分享给大家供大家参考。具体如下: 一、ByteBuffer 定义 在NIO中,数据的读写操作始终是与缓冲区相关联的(读取时信道(SocketChannel)将数据读入缓冲区,写入时...
在公司做项目的时候发现用Netty进行TCP/IP通信的Netty客户端接收到的数据进制乱码,经过摸索,终于成功解决了这个鸡肋的问题
根据库的作者和年龄,它可能使用byte[] , InputStream , ByteBuffer或ReadableByteChannel 。 如果字节表示字符串,则还需要担心String , Reader和CharSequence 。 记住如何在它们之间进行转换是一项不费力的...
protobuf+long+bytebuffer,利用protobuf.js实现编解码 所需的三个js库
java api之ByteBuffer基础、应用场景、实战讲解 文档中有丰富的例子代码实现
易语言汇编版ByteBuffer源码主要用于各种网络协议的组包 具体用法可以点上面的网址 功能和jAVA的一样
dena-bytebuffer