ZipArchiveEntry.getExternalAttributes() is always returning 0 for me. I
have pasted a hex dump of the zip file I'm testing with at the bottom of
email: 2 files of 0 bytes, one named x and one named y. Both of their
external attributes are 33184 (a081 in the hex dump). However, running the
following program gives me 0 for both of their external attributes:
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.IOException;
public class Foo {
public static void main(String args[]) throws IOException {
File archiveFile = new File("myzip.zip");
try (InputStream is = new FileInputStream(archiveFile)) {
ZipArchiveInputStream in = new ZipArchiveInputStream(is);
ZipArchiveEntry entry = in.getNextZipEntry();
while (entry != null) {
System.out.println("entry: " + entry);
System.out.println("external: " + entry.getExternalAttributes());
entry = in.getNextZipEntry();
}
}
}
}
Do I need to do something different to get the external attributes? Is
this a bug?
Hex dump of myzip.zip:
87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef
00000000: 504b 0304 0a00 0000 0000 c766 c946 0000 PK.........f.F..
00000010: 0000 0000 0000 0000 0000 0100 1c00 7855 ..............xU
00000020: 5409 0003 361a 7733 441a 7755 7578 0b00 T...6.w3D.wUux..
00000030: 0104 2c03 0300 0488 1300 0050 4b03 040a ..,........PK...
00000040: 0000 0000 00c7 66c9 4600 0000 0000 0000 ......f.F.......
00000050: 0000 0000 0001 001c 0079 5554 0900 0336 .........yUT...6
00000060: 1a77 5544 1a77 5575 780b 0001 042c 0303 .wUD.wUux....,..
00000070: 0004 8813 0000 504b 0102 1e03 0a00 0000 ......PK........
00000080: 0000 c766 c946 0000 0000 0000 0000 0000 ...f.F..........
00000090: 0000 0100 1800 0000 0000 0000 0000 a081 ................
000000a0: 0000 0000 7855 5405 0003 361a 7755 7578 ....xUT...6.wUux
000000b0: 0b00 0104 2c03 0300 0488 1300 0050 4b01 ....,........PK.
000000c0: 021e 030a 0000 0000 00c7 66c9 4600 0000 ..........f.F...
000000d0: 0000 0000 0000 0000 0001 0018 0000 0000 ................
000000e0: 0000 0000 00a0 813b 0000 0079 5554 0500 .......;...yUT..
000000f0: 0336 1a77 5575 780b 0001 042c 0303 0004 .6.wUux....,....
00000100: 8813 0000 504b 0506 0000 0000 0200 0200 ....PK..........
00000110: 8e00 0000 7600 0000 0000 ....v.....