MCPcopy Create free account
hub / github.com/L-JINBIN/ApkDataMultiplexing / setupNeedZip64

Method setupNeedZip64

src/bin/zip/ZipMaker.java:274–298  ·  view source on GitHub ↗
(CenterFileHeader header)

Source from the content-addressed store, hash-verified

272 }
273
274 private void setupNeedZip64(CenterFileHeader header) {
275 if (forceZip64) {
276 header.sizeNeedZip64 = true;
277 header.offsetNeedZip64 = true;
278 } else {
279 // 只知道原体积但不知道压缩后体积时,若原体积大于0xf0000000L则采用zip64
280 if (header.size >= 0xf0000000L && header.compressedSize == ZipEntry.UNKNOWN_SIZE) {
281 header.sizeNeedZip64 = true;
282 } else if (header.size >= MAX_ZIP_ENTRY_AND_ARCHIVE_SIZE ||
283 header.compressedSize >= MAX_ZIP_ENTRY_AND_ARCHIVE_SIZE) {
284 header.sizeNeedZip64 = true;
285 }
286 if (header.headerOffset >= MAX_ZIP_ENTRY_AND_ARCHIVE_SIZE)
287 header.offsetNeedZip64 = true;
288 }
289 if (header.needZip64()) {
290 needsZip64EocdRecord = true;
291 }
292 if (header.size == ZipEntry.UNKNOWN_SIZE) {
293 header.size = 0;
294 }
295 if (header.compressedSize == ZipEntry.UNKNOWN_SIZE) {
296 header.compressedSize = 0;
297 }
298 }
299
300 public void write(int b) throws IOException {
301 topOutput.write(b);

Callers 2

writeHeaderMethod · 0.95
putNextVirtualEntryMethod · 0.80

Calls 1

needZip64Method · 0.80

Tested by

no test coverage detected