在Netty中,你可以在3.x中读取两次ChannelBuffer吗



你能重新读取Netty 3.x中的ChannelBuffer吗?也就是说,您是否可以使用同一个ChannelBuffer对象创建两个单独的ChannelBufferInputStreams,并在不需要额外标记/重置的情况下进行读取?你是否总是保证这会起作用,或者只有在有特定类型的源支持的情况下?

是的,如果在原始缓冲区上创建单独的视图,应该不会有问题:

ChannelBuffer original = ChannelBuffers.wrappedBuffer("xyzzy"
        .getBytes());
InputStream x = new ChannelBufferInputStream(original.duplicate());
InputStream y = new ChannelBufferInputStream(original.duplicate());

在这里,您可以在不影响原始缓冲区索引的情况下独立地读取x和y。

最新更新