From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Unzip.java | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Unzip.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Unzip.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Unzip.java b/Master/Reference Architectures and Patterns/hjp5/examples/Unzip.java new file mode 100644 index 0000000..2b5c154 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Unzip.java @@ -0,0 +1,47 @@ +/* Unzip.java */ + +import java.io.*; +import java.util.zip.*; + +public class Unzip +{ + public static void main(String[] args) + { + if (args.length != 1) { + System.out.println("Usage: java Unzip zipfile"); + System.exit(1); + } + try { + byte[] buf = new byte[4096]; + ZipInputStream in = new ZipInputStream( + new FileInputStream(args[0])); + while (true) { + //Nächsten Eintrag lesen + ZipEntry entry = in.getNextEntry(); + if (entry == null) { + break; + } + //Beschreibung ausgeben + System.out.println( + entry.getName() + + " (" + entry.getCompressedSize() + "/" + + entry.getSize() + ")" + ); + //Ausgabedatei erzeugen + FileOutputStream out = new FileOutputStream( + entry.getName() + ); + int len; + while ((len = in.read(buf)) > 0) { + out.write(buf, 0, len); + } + out.close(); + //Eintrag schließen + in.closeEntry(); + } + in.close(); + } catch (IOException e) { + System.err.println(e.toString()); + } + } +} \ No newline at end of file -- cgit v1.2.3