From 4747d5924f51aea43347de353d6ee2e83bd11462 Mon Sep 17 00:00:00 2001 From: nedlir Date: Fri, 25 Feb 2022 22:32:35 +0200 Subject: [PATCH] ZipFileManipulator with target file extract ready --- ZipFileManipulator.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ZipFileManipulator.java diff --git a/ZipFileManipulator.java b/ZipFileManipulator.java new file mode 100644 index 0000000..3aae8b0 --- /dev/null +++ b/ZipFileManipulator.java @@ -0,0 +1,39 @@ +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.FileSystem; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; + +public class ZipFileManipulator { + + private String fileName; // file which will be extracted from + private String extractionPath; // temporary path where the file will be extracted to + + public ZipFileManipulator(String fileName, String extractionPath) { + this.fileName = fileName; + this.extractionPath = extractionPath; + } + + public void extractFile(String targetFile) throws Exception { + File outputLocation = new File(extractionPath, targetFile); + + // path to the file the file will be extracted from + Path zipFile = Paths.get(fileName); + + // load zip file as filesystem + FileSystem fileSystem = FileSystems.newFileSystem(zipFile, null); + + Path source = fileSystem.getPath("ppt/" + targetFile); // location of targetFile inside the zip file + + Files.copy(source, outputLocation.toPath()); + } + +} \ No newline at end of file