我想将io.netty.buffer.ByteBuf打印为字符串。但是io.netty.buffer.ByteBuf.array()引发如下异常。
java.lang.UnsupportedOperationException:直接缓冲区 在io.netty.buffer.PooledUnsafeDirectByteBuf.array(PooledUnsafeDirectByteBuf.java:343)
有人可以帮我从io.netty.buffer.ByteBuf字节中获取byte []。
谢谢。
答案 0 :(得分:1)
好的,我找到了一种打印值的方法。如果有人感兴趣,
byte[] bytes = new byte[buf.readableBytes()];
buf.duplicate().readBytes(bytes);
System.out.println(new String(bytes));
答案 1 :(得分:0)
要将ByteBuf的内容打印为字符串,可以使用 buf.toString(java.nio.charset.Charset)。