rek*_*ord 2 java compression zip
我正在使用Zip 文件系统提供程序来创建一个 zip 存档:
URI uri = URI.create("jar:file:/codeSamples/zipfs/zipfstest.zip");
FileSystem fs = FileSystems.newFileSystem(uri, env);
Run Code Online (Sandbox Code Playgroud)
如何将压缩级别设置为无以及默认压缩级别是多少。
我检查了属性(env),没有针对此的选项。
根据 Java 版本,有不同的可能性。
对于 Java 版本 >= 7 和 < 12
java.util.zip.ZipOutputStream可以控制每个ZipEntry对于 Java 版本 >= 12
有一个选项noCompression来控制压缩方法
重要的部分是
Map<String, String> env = new HashMap<>();
// to store the files in the ZIP
env.put("noCompression", "true");
FileSystem zipfs = FileSystems.newFileSystem(uri, env);
Run Code Online (Sandbox Code Playgroud)
爪哇 >= 14
该选项将从noCompressionto重命名compressionMethod(请参阅此 CSR JDK-8231248)。
编辑:根据@Phil Brown的评论,我对 Java 11 和“noCompression”选项进行了一些快速研究。
似乎OpenJDK 源代码中的提交196c20c0d1 已向后移植到某些 Java 11 版本,但并未移植到所有版本中(至少在 Oracle JDK 11 中没有)。因此,如果您想在 Java 11 版本中使用此选项,则需要检查您的特定供应商 JDK/JRE 是否支持该选项。
| 归档时间: |
|
| 查看次数: |
657 次 |
| 最近记录: |