ZipFile.isSplitArchive 返回 false,即使我设置为 true
ZipFile.isSplitArchive is returning false even though I set to true
// Initiate ZipFile object with the path/name of the zip file.
ZipFile zipFile = new ZipFile("c:\ZipTest\CreateSplitZipFileFromFolder.zip");
// Initiate Zip Parameters which define various properties such
// as compression method, etc.
ZipParameters parameters = new ZipParameters();
// set compression method to store compression
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
// Set the compression level. This value has to be in between 0 to 9
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// Create a split file by setting splitArchive parameter to true
// and specifying the splitLength. SplitLenth has to be greater than
// 65536 bytes
// Please note: If the zip file already exists, then this method throws an
// exception
zipFile.createZipFileFromFolder("C:\ZipTest", parameters, true, 10485760);
我从使用 zip4j 的示例代码中复制了这个,特别是名为 CreateSplitZipFileFromFolder.java
的文件
问题是,即使我将 createZipFileFromFolder
的第三个参数设置为 true,当我调用 ZipFile.isSplitArchive()
方法时,它仍然会 return false
从 grepcode 看来,它只是将 ZipModel
对象设置为我设置的布尔标志,但我得到了不同的值。知道这是为什么吗?
您生成的 ZIP 文件是否大于 splitLength
字节(在您的示例中为 10485760)?来自 createZipFile
的 splitLength 文档
if archive has to be split, then length in bytes at which it has to be split
我假设只有当 Zip 文件大于该大小时才会创建拆分文件。
// Initiate ZipFile object with the path/name of the zip file.
ZipFile zipFile = new ZipFile("c:\ZipTest\CreateSplitZipFileFromFolder.zip");
// Initiate Zip Parameters which define various properties such
// as compression method, etc.
ZipParameters parameters = new ZipParameters();
// set compression method to store compression
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
// Set the compression level. This value has to be in between 0 to 9
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
// Create a split file by setting splitArchive parameter to true
// and specifying the splitLength. SplitLenth has to be greater than
// 65536 bytes
// Please note: If the zip file already exists, then this method throws an
// exception
zipFile.createZipFileFromFolder("C:\ZipTest", parameters, true, 10485760);
我从使用 zip4j 的示例代码中复制了这个,特别是名为 CreateSplitZipFileFromFolder.java
问题是,即使我将 createZipFileFromFolder
的第三个参数设置为 true,当我调用 ZipFile.isSplitArchive()
从 grepcode 看来,它只是将 ZipModel
对象设置为我设置的布尔标志,但我得到了不同的值。知道这是为什么吗?
您生成的 ZIP 文件是否大于 splitLength
字节(在您的示例中为 10485760)?来自 createZipFile
if archive has to be split, then length in bytes at which it has to be split
我假设只有当 Zip 文件大于该大小时才会创建拆分文件。