将 ByteBuffer 转换为字节数组 java
Convert ByteBuffer to byte array java
有谁知道如何将 ByteBuffer 转换为 byte[] 数组?我需要从我的 ByteBuffer
中获取字节数组。当我运行bytebuffer.hasArray()
它returns没有。到目前为止我看到的每个问题都是将字节数组转换为 byteBuffer,但我需要以其他方式解决。
谢谢。
如果hasArray()
报告false
那么,调用array()
会抛出异常。
在这种情况下,获取 byte[]
中数据的唯一方法是分配 byte[]
并使用 get(byte)
或将字节复制到 byte[]
或相似。
ByteBuffer
公开了批量 get(byte[])
方法,该方法将字节从缓冲区传输到数组中。您需要实例化一个长度等于缓冲区中剩余字节数的数组。
ByteBuffer buf = ...
byte[] arr = new byte[buf.remaining()];
buf.get(arr);
有谁知道如何将 ByteBuffer 转换为 byte[] 数组?我需要从我的 ByteBuffer
中获取字节数组。当我运行bytebuffer.hasArray()
它returns没有。到目前为止我看到的每个问题都是将字节数组转换为 byteBuffer,但我需要以其他方式解决。
谢谢。
如果hasArray()
报告false
那么,调用array()
会抛出异常。
在这种情况下,获取 byte[]
中数据的唯一方法是分配 byte[]
并使用 get(byte)
或将字节复制到 byte[]
或相似。
ByteBuffer
公开了批量 get(byte[])
方法,该方法将字节从缓冲区传输到数组中。您需要实例化一个长度等于缓冲区中剩余字节数的数组。
ByteBuffer buf = ...
byte[] arr = new byte[buf.remaining()];
buf.get(arr);