java - Netty io.netty.buffer.ByteBuf.array() 抛出异常 - 直接缓冲区
问题描述
我想将 io.netty.buffer.ByteBuf 打印为字符串。但是 io.netty.buffer.ByteBuf.array() 抛出异常如下。
java.lang.UnsupportedOperationException:io.netty.buffer.PooledUnsafeDirectByteBuf.array 处的直接缓冲区(PooledUnsafeDirectByteBuf.java:343)
有人可以帮我从 byte io.netty.buffer.ByteBuf 中获取 byte[]。
谢谢。
解决方案
好的,我想出了一种打印值的方法。如果有人有兴趣,
byte[] bytes = new byte[buf.readableBytes()];
buf.duplicate().readBytes(bytes);
System.out.println(new String(bytes));
推荐阅读
- tensorflow - Tensorflow libcublas.so.9.0 错误 - CUDA 版本 10.0
- r - 提取接触r中指定多边形的多边形
- excel - 在 VBA excel 中隐藏列
- javascript - 将值从 html 表单传递到 JavaScript 文件
- java - Vulkan - 使用多个线程时采样器使用错误的图像
- android - 如何固定要拖动的视图的起始位置
- c - C中的递归后序遍历和sprintf
- angular - Angular 6 - 获取 FormGroup 上的所有更改值
- php - PHP正则表达式找到第一个youtube链接
- reactjs - 渲染路由条件渲染。反应路由器(哈希路由器)