不知道它是否是“最好的”,但是您在这里有一个很好的循环字节缓冲区示例。
这些Java Utilities-OstermillerUtils 类已获得GPL许可。
该循环字节缓冲区实现了字节的循环缓冲区生产者/消费者模型。填充和清空缓冲区是通过标准Java InputStreams和OutputStreams完成的。
使用此类是使用PipedInputStream和PipedOutputStream的一种更简单的选择。
PipedInputStreams和PipedOutputStreams不支持标记操作,不允许您控制它们使用的缓冲区大小,并且具有更复杂的API,该API需要实例化两个类并将它们连接。