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相互转化相关推荐

  1. CString与Byte数组的相互转化

    CString cs1 = "gettruckpos"; byte buf[200]; memcpy(buf,cs1.GetBuffer(cs1.GetLength()),cs1. ...

  2. 通过ByteBuffer来操作byte

    简介 ByteBuffer功能 通过ByteBuffer操纵byte数据 ByteBuffer的基本概念 ByteBuffer核心方法 小结 转载于:https://www.cnblogs.com/j ...

  3. ByteBuffer和byte数组互相转换

    1. byte 数组转byteBuffer /*** byte 数组转byteBuffer* @param byteArray*/public static ByteBuffer byte2Byffe ...

  4. 【Java 网络编程】TCP 数据传输示例 ( 客户端参数设置 | 服务器端参数设置 | ByteBuffer 存放读取数据类型 )

    文章目录 I 客户端代码示例 II 服务器端代码示例 III 运行结果 I 客户端代码示例 import java.io.IOException; import java.io.InputStream ...

  5. Java .Net Byte数组存储差异以及解决方法

    最近在Java与.Net服务Bytes数据交互碰到一个问题:.Net IntToBytes结果和Java IntToBytes结果是反序的,查了一下发现:Java stores things inte ...

  6. ByteBuffer 类

    Buffer 类 定义了一个可以线性存放primitive type数据的容器接口.Buffer主要包含了与类型(byte, char-)无关的功能. 值得注意的是Buffer及其子类都不是线程安全的 ...

  7. ByteBuffer使用之道

     缓冲区分配和包装 在能够读和写之前,必须有一个缓冲区,用静态方法 allocate() 来分配缓冲区: ByteBuffer buffer = ByteBuffer.allocate(1024); ...

  8. ByteBuffer的使用

    转载自    ByteBuffer的使用 ByteBuffer 字节缓存区处理子节的,比传统的数组的效率要高. 分类 HeapByteBuffer 用子节数组封装的一种的ByteBuffer,分配在堆 ...

  9. AIO系列文档(1)----图解ByteBuffer

    因何而写 网上关于bytebuffer的文章真的很多,为何在此还要写一篇呢?主要是基于以下几点考虑 很多人在使用t-io时,还不会bytebuffer,只会照着t-io提供的例子照猫画虎,不利于灵活运 ...

最新文章

  1. 分享2020 几个好用的ip地址归属地查询
  2. Squid的refresh_pattern配置
  3. Java 最坑爹的 10 大功能点!
  4. Ionic系列——调用摄像头拍照和选择图库照片功能的实现
  5. ie 访问 java接口_Java基础面试题 库(1~10)
  6. 【转】刨根究底字符编码【2.0版】(3):字符编码的由来、演变与ASCII码
  7. Java工作笔记-使用jquery.timer.js实现数据自动刷新
  8. 字节跳动AI Lab 秋季提前批招聘
  9. js面向对象的程序设计 --- 中篇(创建对象) 之 工厂模式和 构造函数模式
  10. 计算机桌面锁定了没设密码怎么解锁,电脑桌面锁屏怎么设置,电脑怎么给手机解锁...
  11. MongoDB CRUD命令操作
  12. mysql 给表填充数据库_mysql---为测试数据库填充大量数据
  13. NPM ----快速删除node_modules
  14. 深度:ATM互联网巨头加紧入局的中老年线上市场,你是选择流量收割还是内容为王?
  15. android通知栏的点击事件,android自定义通知栏以及点击事件
  16. angular拖动插件——ng-drag、ng-drop
  17. 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)
  18. UED团队规范设计参考及建议
  19. 小白必看——UG NX模具分模原理知识,如何确定分型面
  20. 利用python的scrapy框架爬取google搜索结果页面内容

热门文章

  1. 软件项目管理第二篇:项目计划 (1)——范围计划
  2. Flutter 报错Mapping values are not allowed here. Did you miss a colon earlier?
  3. 成为一名AI工程师,需要掌握的知识和技能?
  4. 【计算机网络-带宽与吞吐量】
  5. IDEA自动把数据库表映射为实体类
  6. powershell spirit
  7. 定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。
  8. 【奇奇怪怪小知识】系统盘(C盘)持续发出“救救我”信号(C盘仅剩不足10G,爆红), 操作过后直接腾出近20G
  9. 我的windows开发环境设定与日常使用指南
  10. 哪里有英语,哪里有欢乐