title: Unzip symlinks from a ZipArchiveInputStream on Android
body: <p>I have troubles to unzip symlinks from a zip archive on Android with the apache commons-compress-1.6 library. </p>
  
  <p>When I get the ZipArchiveEntry, there is a method called isUnixSymlink() which tells that the file is a symlink or not, but it returns always false.</p>
  
  <pre><code>InputStream inputStream = new FileInputStream(archive);
  ZipArchiveInputStream zipInputStream = new ZipArchiveInputStream(inputStream);
  ZipArchiveEntry ze = null;
  
  while ((ze = zipInputStream.getNextZipEntry()) != null) {
      File path = new File("/tmp/user/folder", ze.getName());
      byte[] extras = ze.getExtra();
      boolean isSymlink = ze.isUnixSymlink();
  </code></pre>
  
  <p>I read the documentation located here : <a href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT" rel="nofollow">http://www.pkware.com/documents/casestudies/APPNOTE.TXT</a>, they are talking about extras informations in the chapter "4.5 Extensible data fields". Extras should start </p>
  
  <p>with 2 bytes for the header id (which in my case should be "0x000d        UNIX" </p>
  
  <p>and 2 bytes for the data size</p>
  
  <p>but the two first bytes are always [85, 84], and after I have the byte array [9, 0].</p>
  
  <p>Maybe that's why the ZipArchiveEntry cannot returns the good boolean.
  Someone can give me some explanations about that case ?</p>
  
  <p>Thanks in advance.</p>