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)处的直接缓冲区

有人可以帮我从字节io.netty.buffer.ByteBuf 中获取字节[]。

谢谢。


胡子哥哥
浏览 720回答 2
2回答

阿波罗的战车

好的,我已经找到了打印值的方法。如果有人有兴趣,byte[] bytes = new byte[buf.readableBytes()];buf.duplicate().readBytes(bytes);System.out.println(new String(bytes));

狐的传说

要将 ByteBuf 的内容打印为字符串,您可以使用buf.toString(java.nio.charset.Charset)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java