File tree Expand file tree Collapse file tree
core-java-modules/core-java-io/src/main Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package com .baeldung .zip ;
2+
3+ import java .io .*;
4+ import java .net .URI ;
5+ import java .net .URL ;
6+ import java .nio .charset .StandardCharsets ;
7+ import java .nio .file .*;
8+ import java .util .*;
9+ import java .util .stream .Collectors ;
10+ import java .util .stream .Stream ;
11+ import java .util .zip .ZipEntry ;
12+ import java .util .zip .ZipOutputStream ;
13+
14+ import static java .util .stream .Collectors .toList ;
15+
16+ public class ZipAppendFile {
17+ public static void main (final String [] args ) throws IOException {
18+ ZipMultipleFiles .main (args );
19+ String file3 = ZipAppendFile .class .getClassLoader ().getResource ("zipTest/file3.txt" ).getPath ();
20+ Map <String , String > env = new HashMap <>();
21+ env .put ("create" , "true" );
22+ Path path = Paths .get (Paths .get (file3 ).getParent () + "/compressed.zip" );
23+ URI uri = URI .create ("jar:" + path .toUri ());
24+ try (FileSystem fs = FileSystems .newFileSystem (uri , env )) {
25+ Path nf = fs .getPath ("newFile3.txt" );
26+ Files .write (nf , Files .readAllBytes (Paths .get (file3 )), StandardOpenOption .CREATE );
27+ }
28+ }
29+ }
Original file line number Diff line number Diff line change 44import java .io .FileInputStream ;
55import java .io .FileOutputStream ;
66import java .io .IOException ;
7+ import java .nio .file .Paths ;
78import java .util .Arrays ;
89import java .util .List ;
910import java .util .zip .ZipEntry ;
1011import java .util .zip .ZipOutputStream ;
1112
1213public class ZipMultipleFiles {
1314 public static void main (final String [] args ) throws IOException {
14- final List <String > srcFiles = Arrays .asList ("src/main/resources/zipTest/test1.txt" , "src/main/resources/zipTest/test2.txt" );
15- final FileOutputStream fos = new FileOutputStream ("src/main/resources/multiCompressed.zip" );
15+ String file1 = ZipAppendFile .class .getClassLoader ().getResource ("zipTest/test1.txt" ).getPath ();
16+ String file2 = ZipAppendFile .class .getClassLoader ().getResource ("zipTest/test2.txt" ).getPath ();
17+ final List <String > srcFiles = Arrays .asList (file1 , file2 );
18+ final FileOutputStream fos =
19+ new FileOutputStream (Paths .get (file1 ).getParent ().toAbsolutePath () + "/compressed.zip" );
1620 final ZipOutputStream zipOut = new ZipOutputStream (fos );
1721 for (final String srcFile : srcFiles ) {
1822 final File fileToZip = new File (srcFile );
Original file line number Diff line number Diff line change 1+ Test3.txt
You can’t perform that action at this time.
0 commit comments