private static void extractJar()

in iep-launcher/src/main/java/com/netflix/iep/launcher/Main.java [63:84]


  private static void extractJar(File jar, File dir) throws Exception {
    try (ZipFile zf = new ZipFile(jar)) {
      byte[] buf = new byte[4096];
      Enumeration<? extends ZipEntry> entries = zf.entries();
      while (entries.hasMoreElements()) {
        ZipEntry ze = entries.nextElement();
        File f = new File(dir, ze.getName());
        if (!ze.isDirectory() && ze.getName().endsWith(".jar") && !f.exists()) {
          try (InputStream in = zf.getInputStream(ze); OutputStream out = new FileOutputStream(f)) {
            int length;
            while ((length = in.read(buf)) > 0) {
              out.write(buf, 0, length);
            }
          }
        } else if (ze.getName().endsWith(".jar") && f.exists()) {
          log("not extracting because jar already exists: " + f);
        } else {
          log("skipping: " + ze.getName());
        }
      }
    }
  }