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.....

Reply via email to