为了账号安全,请及时绑定邮箱和手机立即绑定

Netty io.netty.buffer.ByteBuf.array() 抛出异常 - 直接缓冲区

Netty io.netty.buffer.ByteBuf.array() 抛出异常 - 直接缓冲区

胡子哥哥 2021-10-28 09:52:39
我想将 io.netty.buffer.ByteBuf 打印为字符串。但是 io.netty.buffer.ByteBuf.array() 抛出异常如下。java.lang.UnsupportedOperationException:io.netty.buffer.PooledUnsafeDirectByteBuf.array(PooledUnsafeDirectByteBuf.java:343)处的直接缓冲区有人可以帮我从字节io.netty.buffer.ByteBuf 中获取字节[]。谢谢。
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

好的,我已经找到了打印值的方法。如果有人有兴趣,


byte[] bytes = new byte[buf.readableBytes()];

buf.duplicate().readBytes(bytes);

System.out.println(new String(bytes));


查看完整回答
反对 回复 2021-10-28
?
狐的传说

TA贡献1804条经验 获得超3个赞

要将 ByteBuf 的内容打印为字符串,您可以使用buf.toString(java.nio.charset.Charset)


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信