在Netty中你能在3.x中读两次ChannelBuffer吗?

时间:2013-08-26 23:02:24

标签: netty

你能重新阅读Netty 3.x中的ChannelBuffer吗?意思是,你可以使用相同的ChannelBuffer对象创建两个单独的ChannelBufferInputStreams并读取而不需要额外的标记/重置吗?您是否始终保证这将起作用,或者只有在某种类型的来源支持下才会起作用?

1 个答案:

答案 0 :(得分:0)

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

ChannelBuffer original = ChannelBuffers.wrappedBuffer("xyzzy"
        .getBytes());

InputStream x = new ChannelBufferInputStream(original.duplicate());
InputStream y = new ChannelBufferInputStream(original.duplicate());

在这里,您可以独立于x和y读取,而不会影响原始缓冲区的索引。