假设我使用Deflater来压缩字节流,并且在某些时间间隔我可以选择使用两个不同的字节数组(相同信息的两个替代表示)来提供它,这样我就可以了可以选择最可压缩的。理想情况下,我希望能够克隆“实时”deflater的状态,以便我可以使用数组为每个实例提供信息,检查结果并丢弃不需要的实例。
或者,我想标记当前状态(一种保存点),以便在使用setInput()
+ deflate()
进行馈送和压缩之后,我可以回滚/重置为该状态以尝试使用不同的数据。
看看API,这在我看来相当不可能......甚至不重新实现Deflater
(至少如果有人想利用内部本机实现)。我对吗?任何想法或经验?