package com.daimafans.demo;

import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * 流的方式添加文件
 *
 * @author daimafans.com
 * @date 2018-11-29
 */
public class AddInputStreamToZip
{
    public static void main(String[] args)
    {
        InputStream is = null;
        try
        {
            ZipFile zip = new ZipFile("D:\\test.zip");

            ZipParameters para = new ZipParameters();
            para.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
            para.setFileNameInZip("ks/add.txt");
            para.setSourceExternalStream(true);

            is = new ByteArrayInputStream("这是文件内容".getBytes());
            zip.addStream(is, para);
        }
        catch (ZipException e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (is != null)
            {
                try
                {
                    is.close();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
        }
    }
}