java - Java Deflater : relation to DEFLATE blocks? 中的 SYNC_FLUSH/FULL_FLUSH 参数

标签 java zlib deflate

在 Java 7 中,Deflater添加了对某些压缩参数的支持(模式:FULL_FLUSHSYNC_FLUSH)。我猜他们对应的 Zlib 类似 constants在标准 API 中(虽然这个 API 有更多模式)。

我怀疑这些模式如何与 DEFLATE 流的“ block ”相关(这些 block 是独立压缩的,除了 block 内的指针可能指向前一个 block 的原始子字符串)。

这些模式中的一种(或两种)是否意味着刷新终止(非最终)DEFLATE block ?调用者能否预测和/或建议这些 block 边界?

具体来说,我想告诉 Deflater 对象如下:“我将在预定长度的部分中为您提供 N 个原始字节 (M ),并且因为我知道这些部分很长并且在统计上是不同的,并且因为我知道独立压缩它们几乎没有松动和收获,所以我建议您将它们压缩在单独的 DEFLATE block 中“.我可以这样做吗?

最佳答案

是的,两次刷新都在提供的输入数据之后终止当前 block 。

FULL_FLUSH 进一步防止后续 block 使用其之前 block 中的匹配字符串。

关于java - Java Deflater : relation to DEFLATE blocks? 中的 SYNC_FLUSH/FULL_FLUSH 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23973048/

相关文章:

java - twitter4j geo 流媒体香港的纬度/经度

java - Java/Android 中 Time 类功能的替换以及 DateTime 类的理解

java - 在 WSL 和 Windows 上安装 SDK(JDK、Maven、Gradle)?

unix - 尝试链接 CXX 可执行文件时,Kallisto 构建一直失败

C++ 将文件权限添加到 Zip 文件

language-agnostic - 缩小测试用例

java - 如何不从 Java 应用程序输出到 stderr?

python - 用 Python 解压缩缓冲区?

c# - DeflateStream 复制到 MemoryStream

java - "java.util.zip.DataFormatException: incorrect header check"在 JavaScript 中放气然后在 Java 中膨胀