首页 > 解决方案 > 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[]。

谢谢。

标签: javatcpjbossnetty

解决方案


好的,我想出了一种打印值的方法。如果有人有兴趣,

byte[] bytes = new byte[buf.readableBytes()];
buf.duplicate().readBytes(bytes);
System.out.println(new String(bytes));

推荐阅读