Libraryless. Click here for Pure Java version (4845L/27K).
srecord noeq Zip2Zip(File inZip, ZipOutputStream outZip) { IPred<S> predicate; File outFile; bool ourOutputStream; *(File *inZip, File *outFile) { ourOutputStream = true; } *(File *inZip, ZipOutputStream *outZip, IPred<S> *predicate) {} run { if (outFile != null && outZip == null) { outZip = zipOutputStream(outFile); set ourOutputStream; } temp ourOutputStream ? outZip : null; temp ZipFile zipFile = new(inZip); for (e : enumerationToIterator(zipFile.entries())) { S name = e.getName(); print("Copying " + name); ZipEntry e2 = new(name); continue unless predicate == null || predicate.get(name); e2.setSize(e.getSize()); outZip.putNextEntry(e2); temp var in = zipFile.getInputStream(e); copyFileContents(e.getName(), in, outZip); } } swappable void copyFileContents(S fileName, InputStream in, OutputStream out) { copyStream(in, out); } }
Began life as a copy of #1001173
download show line numbers debug dex old transpilations
Travelled to 3 computer(s): bhatertpkbcr, ekrmjmnbrukm, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1033498 |
| Snippet name: | Zip2Zip |
| Eternal ID of this version: | #1033498/4 |
| Text MD5: | 939bb164e8524f3360e964970cf57e30 |
| Transpilation MD5: | c44cf771219fe6ec9136788ebcb0bce4 |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-10-29 07:16:43 |
| Source code size: | 991 bytes / 32 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 371 / 501 |
| Version history: | 3 change(s) |
| Referenced in: | [show references] |