void extract(InputStream in,String files[]) throws IOException {
  ZipInputStream zis=new ZipInputStream(in);
  ZipEntry e;
  Set<ZipEntry> dirs=newDirSet();
  while ((e=zis.getNextEntry()) != null) {
    if (files == null) {
      dirs.add(extractFile(zis,e));
    }
 else {
      String name=e.getName();
      for (      String file : files) {
        if (name.startsWith(file)) {
          dirs.add(extractFile(zis,e));
          break;
        }
      }
    }
  }
  updateLastModifiedTime(dirs);
}

void extract ( InputStream in , String files [ ] ) throws IOException { ZipInputStream zis = new ZipInputStream ( in ) ; ZipEntry e ; Set < ZipEntry > dirs = newDirSet ( ) ; while ( ( e = zis . getNextEntry ( ) ) != null ) { if ( files == null ) { dirs . add ( extractFile ( zis , e ) ) ; } else { String name = e . getName ( ) ; for ( String file : files ) { if ( name . startsWith ( file ) ) { dirs . add ( extractFile ( zis , e ) ) ; break ; } } } } updateLastModifiedTime ( dirs ) ; }
extracts specified entries from jar file .
