我想將 io.netty.buffer.ByteBuf 打印為字符串。但是 io.netty.buffer.ByteBuf.array() 拋出異常如下。java.lang.UnsupportedOperationException:io.netty.buffer.PooledUnsafeDirectByteBuf.array(PooledUnsafeDirectByteBuf.java:343)處的直接緩沖區(qū)有人可以幫我從字節(jié)io.netty.buffer.ByteBuf 中獲取字節(jié)[]。謝謝。
2 回答

阿波羅的戰(zhàn)車
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
好的,我已經(jīng)找到了打印值的方法。如果有人有興趣,
byte[] bytes = new byte[buf.readableBytes()];
buf.duplicate().readBytes(bytes);
System.out.println(new String(bytes));

狐的傳說
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
要將 ByteBuf 的內(nèi)容打印為字符串,您可以使用buf.toString(java.nio.charset.Charset)。
添加回答
舉報(bào)
0/150
提交
取消