summaryrefslogtreecommitdiffstats
path: root/src/test/util/ZipStripper.java
diff options
context:
space:
mode:
authorStiver <stiver.mail@gmail.com>2014-03-04 15:13:11 +0100
committerStiver <stiver.mail@gmail.com>2014-03-04 15:13:11 +0100
commite2d0f5d9c38561d67f23754c00addb4a3547efb2 (patch)
tree1832f16037c086b48266b8566aecc61f45f4e5f1 /src/test/util/ZipStripper.java
downloadfernflower-e2d0f5d9c38561d67f23754c00addb4a3547efb2.tar
fernflower-e2d0f5d9c38561d67f23754c00addb4a3547efb2.tar.gz
fernflower-e2d0f5d9c38561d67f23754c00addb4a3547efb2.tar.lz
fernflower-e2d0f5d9c38561d67f23754c00addb4a3547efb2.tar.xz
fernflower-e2d0f5d9c38561d67f23754c00addb4a3547efb2.zip
initial commit
Diffstat (limited to 'src/test/util/ZipStripper.java')
-rw-r--r--src/test/util/ZipStripper.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/test/util/ZipStripper.java b/src/test/util/ZipStripper.java
new file mode 100644
index 0000000..2eeb2c0
--- /dev/null
+++ b/src/test/util/ZipStripper.java
@@ -0,0 +1,71 @@
+package test.util;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Enumeration;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+import java.util.zip.ZipOutputStream;
+
+public class ZipStripper {
+
+ public static void main(String[] args) {
+
+ try {
+ String sourceFileName = args[0];
+ File sourceFile = new File(sourceFileName);
+
+ File tempFile = new File(sourceFile.getParentFile(), "tmp31415926535.zip");
+ tempFile.createNewFile();
+
+ ZipOutputStream outTemp = new ZipOutputStream(new FileOutputStream(tempFile));
+
+ ZipFile archive = new ZipFile(sourceFile);
+
+ Enumeration<? extends ZipEntry> en = archive.entries();
+ while(en.hasMoreElements()) {
+ ZipEntry entr = en.nextElement();
+
+ outTemp.putNextEntry(new ZipEntry(entr.getName()));
+
+ if(!entr.isDirectory()) {
+ InputStream in = archive.getInputStream(entr);
+
+ copyInputStream(in, outTemp);
+ in.close();
+ }
+ }
+
+ outTemp.flush();
+ outTemp.close();
+
+ archive.close();
+
+ String destFileName = args[1];
+
+ if(sourceFileName.equals(destFileName)) {
+ sourceFile.delete();
+ }
+
+ tempFile.renameTo(new File(destFileName));
+
+ } catch(Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+
+ public static void copyInputStream(InputStream in, OutputStream out)throws IOException {
+
+ byte[] buffer = new byte[1024];
+ int len;
+
+ while((len = in.read(buffer)) >= 0) {
+ out.write(buffer, 0, len);
+ }
+ }
+
+}