public void run() { Unpacker unpack = Pack200.newUnpacker(); try { long begin = System.currentTimeMillis(); StreamClassLoader streamClassLoader = new StreamClassLoader(); if ( inFile != null ) { unpack.unpack( inFile, streamClassLoader ); } else { unpack.unpack( in, streamClassLoader ); } streamClassLoader.close(); long unpackingTime = System.currentTimeMillis() - begin; Class main = findClass( mainClass ); Method mainMethod = main.getMethod( "main", String[].class ); mainMethod.invoke( null, new Object[] { args } ); } catch ( Exception e ) { e.printStackTrace(); } }
public static void pack2Jar(InputStream is,OutputStream os, boolean closeIS, boolean closeOS) throws IOException { Unpacker unpacker = Pack200.newUnpacker(); SortedMap<String, String> p = unpacker.properties(); p.put(Unpacker.DEFLATE_HINT, Unpacker.TRUE); is=new GZIPInputStream(is); JarOutputStream jos=null; try{ jos = new JarOutputStream(os); unpacker.unpack(is, jos); jos.finish(); } finally{ if(closeIS)Util.closeEL(is); if(closeOS)Util.closeEL(jos); } }
public static void pack2Jar(InputStream is,OutputStream os, boolean closeIS, boolean closeOS) throws IOException { Unpacker unpacker = Pack200.newUnpacker(); SortedMap<String, String> p = unpacker.properties(); p.put(Unpacker.DEFLATE_HINT, Unpacker.TRUE); is=new GZIPInputStream(is); JarOutputStream jos=null; try{ jos = new JarOutputStream(os); unpacker.unpack(is, jos); jos.finish(); } finally{ if(closeIS)IOUtil.closeEL(is); if(closeOS)IOUtil.closeEL(jos); } }
protected void unpack( Unpacker unpacker, File sourceFile, File targetJarFile, boolean isGZip ) throws IOException { final Closer closer = Closer.create(); try { final InputStream jarIn = closer.register( isGZip ? new GZIPInputStream( new FileInputStream( sourceFile ), 4096 ) : new BufferedInputStream( new FileInputStream( sourceFile ), 4096 ) ); final JarOutputStream jarOut = closer.register( new JarOutputStream( new FileOutputStream( targetJarFile ) ) ); unpacker.unpack( jarIn, jarOut ); } finally { closer.close(); } }
static void verify6991164() { Unpacker unpacker = Pack200.newUnpacker(); String versionStr = unpacker.toString(); String expected = "Pack200, Vendor: " + System.getProperty("java.vendor") + ", Version: " + JAVA7_PACKAGE_MAJOR_VERSION + "." + JAVA7_PACKAGE_MINOR_VERSION; if (!versionStr.equals(expected)) { System.out.println("Expected: " + expected); System.out.println("Obtained: " + versionStr); throw new RuntimeException("did not get expected string " + expected); } }
static void verify6991164() { Unpacker unpacker = Pack200.newUnpacker(); String versionStr = unpacker.toString(); String expected = "Pack200, Vendor: " + System.getProperty("java.vendor") + ", Version: " + JAVA6_PACKAGE_MAJOR_VERSION + "." + JAVA6_PACKAGE_MINOR_VERSION; if (!versionStr.equals(expected)) { System.out.println("Expected: " + expected); System.out.println("Obtained: " + versionStr); throw new RuntimeException("did not get expected string " + expected); } }
public static void main(String[] args) throws IOException { if (args.length != 2) { System.err.println("command unput-directory output-directory"); System.exit(1); } File inputDirectory = new File(args[0]); File outputDirectory = new File(args[1]); outputDirectory.mkdirs(); Unpacker unpacker = Pack200.newUnpacker(); unpack(inputDirectory, outputDirectory, unpacker); }
private static void unpack(File inputDirectory, File outputDirectory, Unpacker unpacker) throws FileNotFoundException, IOException { File[] files = inputDirectory.listFiles(); for (int i = 0; i < files.length; i++) { File file = files[i]; if (file.isFile()) { if (file.getName().endsWith(".pack")) { String fn = file.getName().substring(0, file.getName().length() - 5) + ".jar"; String fileName = outputDirectory.getAbsolutePath() + File.separator + fn; System.out .println(file.getAbsolutePath() + "->" + fileName); FileOutputStream fostream = new FileOutputStream(fileName); JarOutputStream jostream = new JarOutputStream(fostream); unpacker.unpack(file, jostream); jostream.close(); } else { FileInputStream fis = new FileInputStream(file); FileOutputStream fos = new FileOutputStream(new File( outputDirectory, file.getName())); byte[] buff = new byte[1024 * 64]; int r; while ((r = fis.read(buff)) > 0) { fos.write(buff, 0, r); } fis.close(); fos.close(); } } else if (file.isDirectory()) { File outputDirectory2 = new File(outputDirectory, file .getName()); outputDirectory2.mkdir(); unpack(file, outputDirectory2, unpacker); } } }
public static void main(String[] args) { printMethods(Pack200.Packer.class); printMethods(Pack200.Unpacker.class); printMethods(Pack200.newPacker().getClass()); printMethods(Pack200.newUnpacker().getClass()); }
public void testUnpacker() { Unpacker unpacker = Pack200.newUnpacker(); assertEquals("org.apache.harmony.unpack200.Pack200UnpackerAdapter", unpacker.getClass().getName()); }
public JarPack200( Packer packer, Unpacker unpacker ) { this.packer = packer; this.unpacker = unpacker; }
public static Unpacker getDefaultUnpacker() { return Pack200.newUnpacker(); }