byte[]与ByteBuffer相互转化
NFD在传送大量数据的时候,比如我要传输大文件,或者各类文件的时候,只能使用Blob,但是当接收方接收数据的时候,Blob只能转为ByteBuffer,如何转化为byte[]呢?在查看API文档的时候,发现有个array()的函数,但是被坑惨了!!!根本读不出来好嘛!!!
在stackoverflow上找到问题:
If hasArray()
reports false
then, calling array()
will throw an exception.
In that case, the only way to get the data in a byte[]
is to allocate a byte[]
and copy the bytes to the byte[]
using get(byte)
or similar.
难道阅读纯正的英文文档也有错么T^T
所以,为避免上述的问题,将ByteBuffer转化为byte[]的正确做法是:
ByteBuffer bb =..byte[] b = new byte[bb.remaining()]; //byte[] b = new byte[bb.capacity()] is OK
</span>
bb.get(b, 0, b.length); //bb.get(b) is OK
那么,如何将byte[]转化为ByteBuffer:
byte[] bytes = ......;
ByteBuffer buf = ByteBuffer.wrap(bytes);
肘子要加油做毕设!!!
byte[]与ByteBuffer相互转化相关推荐
- CString与Byte数组的相互转化
CString cs1 = "gettruckpos"; byte buf[200]; memcpy(buf,cs1.GetBuffer(cs1.GetLength()),cs1. ...
- 通过ByteBuffer来操作byte
简介 ByteBuffer功能 通过ByteBuffer操纵byte数据 ByteBuffer的基本概念 ByteBuffer核心方法 小结 转载于:https://www.cnblogs.com/j ...
- ByteBuffer和byte数组互相转换
1. byte 数组转byteBuffer /*** byte 数组转byteBuffer* @param byteArray*/public static ByteBuffer byte2Byffe ...
- 【Java 网络编程】TCP 数据传输示例 ( 客户端参数设置 | 服务器端参数设置 | ByteBuffer 存放读取数据类型 )
文章目录 I 客户端代码示例 II 服务器端代码示例 III 运行结果 I 客户端代码示例 import java.io.IOException; import java.io.InputStream ...
- Java .Net Byte数组存储差异以及解决方法
最近在Java与.Net服务Bytes数据交互碰到一个问题:.Net IntToBytes结果和Java IntToBytes结果是反序的,查了一下发现:Java stores things inte ...
- ByteBuffer 类
Buffer 类 定义了一个可以线性存放primitive type数据的容器接口.Buffer主要包含了与类型(byte, char-)无关的功能. 值得注意的是Buffer及其子类都不是线程安全的 ...
- ByteBuffer使用之道
缓冲区分配和包装 在能够读和写之前,必须有一个缓冲区,用静态方法 allocate() 来分配缓冲区: ByteBuffer buffer = ByteBuffer.allocate(1024); ...
- ByteBuffer的使用
转载自 ByteBuffer的使用 ByteBuffer 字节缓存区处理子节的,比传统的数组的效率要高. 分类 HeapByteBuffer 用子节数组封装的一种的ByteBuffer,分配在堆 ...
- AIO系列文档(1)----图解ByteBuffer
因何而写 网上关于bytebuffer的文章真的很多,为何在此还要写一篇呢?主要是基于以下几点考虑 很多人在使用t-io时,还不会bytebuffer,只会照着t-io提供的例子照猫画虎,不利于灵活运 ...
最新文章
- 分享2020 几个好用的ip地址归属地查询
- Squid的refresh_pattern配置
- Java 最坑爹的 10 大功能点!
- Ionic系列——调用摄像头拍照和选择图库照片功能的实现
- ie 访问 java接口_Java基础面试题 库(1~10)
- 【转】刨根究底字符编码【2.0版】(3):字符编码的由来、演变与ASCII码
- Java工作笔记-使用jquery.timer.js实现数据自动刷新
- 字节跳动AI Lab 秋季提前批招聘
- js面向对象的程序设计 --- 中篇(创建对象) 之 工厂模式和 构造函数模式
- 计算机桌面锁定了没设密码怎么解锁,电脑桌面锁屏怎么设置,电脑怎么给手机解锁...
- MongoDB CRUD命令操作
- mysql 给表填充数据库_mysql---为测试数据库填充大量数据
- NPM ----快速删除node_modules
- 深度:ATM互联网巨头加紧入局的中老年线上市场,你是选择流量收割还是内容为王?
- android通知栏的点击事件,android自定义通知栏以及点击事件
- angular拖动插件——ng-drag、ng-drop
- 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)
- UED团队规范设计参考及建议
- 小白必看——UG NX模具分模原理知识,如何确定分型面
- 利用python的scrapy框架爬取google搜索结果页面内容
热门文章
- 软件项目管理第二篇:项目计划 (1)——范围计划
- Flutter 报错Mapping values are not allowed here. Did you miss a colon earlier?
- 成为一名AI工程师,需要掌握的知识和技能?
- 【计算机网络-带宽与吞吐量】
- IDEA自动把数据库表映射为实体类
- powershell spirit
- 定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。
- 【奇奇怪怪小知识】系统盘(C盘)持续发出“救救我”信号(C盘仅剩不足10G,爆红), 操作过后直接腾出近20G
- 我的windows开发环境设定与日常使用指南
- 哪里有英语,哪里有欢乐