bytebuffer获得byte[]的操作
来源:互联网 发布:阿里云上传域名证书 编辑:程序博客网 时间:2024/06/07 22:21
遇到一个问题,就是我想拿到字节缓冲转为byte[]数组,然后进行相关的操作,
bytebuffer.array()一直报这个错Exception in thread "main" java.lang.UnsupportedOperationException,字面意思就是不支持的操作,可是明明提供了这个方法,为什么说是不支持的操作呢?
翻看jdk帮助文档,原话如下
调用此方法之前要调用 hasArray
方法,以确保此缓冲区具有可访问的底层实现数组。
这个是jvm底层实现的,所以我们需要先调用判断是否有array方法,再看hasArray方法
hasArray
public final boolean hasArray()
- 判断是否可通过一个可访问的 byte 数组实现此缓冲区。
如果此方法返回 true,则可以安全地调用
array
和arrayOffset
方法。 - 指定者:
- 类
Buffer
中的hasArray
- 返回:
- 当且仅当存在实现此缓冲区的数组,并且此缓冲区不是只读缓冲区时,返回 true
阅读全文
0 0
- bytebuffer获得byte[]的操作
- Object,byte[],ByteBuffer之间的转换。
- Object,byte[],ByteBuffer之间的转换
- bytebuffer 与 byte数组 转化
- byte[]与ByteBuffer相互转化
- 使用ViewBuffer操作ByteBuffer
- iOS byte byte数组的相关操作
- FLEX/获得textinput的字节(byte)
- java ByteBuffer和byte 数组相互转换
- JNI从ByteBuffer获取数据,返回byte[]
- Direct Byte Buffer的操作
- 基于流模式的字节byte缓存区 bytebuffer.cs 用于tcp/udp的网络数据高效处理
- ByteBuffer中属性及其操作
- FileChannel 与 ByteBuffer 操作文件
- java byteBuffer 的学习
- byteBuffer的用法
- ByteBuffer的心得
- ByteBuffer的处理
- 用枚举实现单例模式
- RxVolley使用文档—— RxVolley = Volley + RxJava + OkHttp
- Fiddler抓包使用教程-QuickExec
- 方法重写与重载
- Flask + Requests查询火车票
- bytebuffer获得byte[]的操作
- 线程同步的几种方法
- Element Send Keys is broken with Firefox 53 or newer
- linux下c/c++实例之十四c实现的bt软件下载
- CentOS 7 切换图形化启动和命令行启动
- oracle强制中止运行的job
- libsvm 使用心得
- vc中for循环中多变量初始化的坑
- 同一个activity下的两个子fragment的数据传输