All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.thksystems.util.io.ZipUtils Maven / Gradle / Ivy

Go to download

Commons for lang, crypto, xml, dom, text, csv, reflection, annotations, parsing, ...

There is a newer version: 4.4.0
Show newest version
/*
 * tksCommons
 *
 * Author : Thomas Kuhlmann (ThK-Systems, http://www.thk-systems.de) License : LGPL (https://www.gnu.org/licenses/lgpl.html)
 */
package de.thksystems.util.io;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import org.apache.commons.io.IOUtils;

public final class ZipUtils {

    private ZipUtils() {
    }

    /**
     * Writes the given data zipped to a {@link File}.
     *
     * @param file         {@link File} to write the zipped {@link String} to.
     * @param zipEntryName The data will be written to a virtual file ({@link ZipEntry}) inside the zip. This is the name of this file
     * @param data         data to be zipped.
     */
    public static void zipDataToFile(File file, String zipEntryName, byte[] data) throws IOException {
        FileOutputStream fos = new FileOutputStream(file);
        ZipOutputStream zos = new ZipOutputStream(fos);
        ZipEntry ze = new ZipEntry(zipEntryName);
        zos.putNextEntry(ze);
        InputStream is = new ByteArrayInputStream(data);
        IOUtils.copy(is, zos);
        is.close();
        zos.closeEntry();
        zos.close();
    }

    /**
     * Writes the given {@link String} zipped to a {@link File}.
     *
     * @see #zipDataToFile(File, String, byte[])
     */
    public static void zipStringToFile(File file, String zipEntryName, String stringToZip) throws IOException {
        zipDataToFile(file, zipEntryName, stringToZip.getBytes());
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy