Netty ByteBuf 转 String

public String convertByteBufToString(ByteBuf buf) {
    String str;
    if(buf.hasArray()) { // 处理堆缓冲区
        str = new String(buf.array(), buf.arrayOffset() + buf.readerIndex(), buf.readableBytes());
    } else { // 处理直接缓冲区以及复合缓冲区
        byte[] bytes = new byte[buf.readableBytes()];
        buf.getBytes(buf.readerIndex(), bytes);
        str = new String(bytes, 0, buf.readableBytes());
    }
    return str;
}

除了上面的方法外,ByteBuf还有一些toString方法可以使用。

你可能感兴趣的:(网络,java)