No title Revision 653337376466 (Tue Jun 07 2011 at 22:02) - Diff Link to this snippet: https://friendpaste.com/JU7WuKslKle9UaAL3r21M Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768package zip.simple;import com.jcraft.jzlib.ZStream;import java.io.FileInputStream;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;import java.util.concurrent.TimeUnit;import java.util.jar.JarEntry;import java.util.jar.JarInputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;/** * @author Romain Manni-Bucau */public class Main { public static void main(String[] a) { final String filename = "/home/rmannibucau/Bureau/openejb-core-3.1.4.jar"; final int nTimes = 100; long start = 0, end = 0; List<String> list = new ArrayList<String>(); // jdk way: jar for (int i = 0; i < nTimes; i++) { list.clear(); try { JarInputStream jarFile = new JarInputStream(new FileInputStream(filename)); JarEntry jarEntry; start = System.nanoTime(); while ((jarEntry = jarFile.getNextJarEntry()) != null) { if (jarEntry.getName().endsWith(".class")) { list.add(jarEntry.getName().replaceAll("/", "\\.")); } } end = System.nanoTime(); } catch (Exception e) { e.printStackTrace(); } } System.out.println(TimeUnit.NANOSECONDS.toMillis(end - start) + " for " + list.size() + " classes "); // jdk way: zip for (int i = 0; i < nTimes; i++) { list.clear(); try { ZipFile zipFile = new ZipFile(filename); Enumeration<? extends ZipEntry> zipEntries = zipFile.entries(); start = System.nanoTime(); while (zipEntries.hasMoreElements()) { ZipEntry entry = zipEntries.nextElement(); if (entry.getName().endsWith(".class")) { list.add(entry.getName().replaceAll("/", "\\.")); } } end = System.nanoTime(); } catch (Exception e) { e.printStackTrace(); } } System.out.println(TimeUnit.NANOSECONDS.toMillis(end - start) + " for " + list.size() + " classes "); }}