欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java向zip文件中添加新文件,javazip文件添加,import java.

来源: javaer 分享于  点击 46944 次 点评:60

java向zip文件中添加新文件,javazip文件添加,import java.


import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;import java.util.zip.ZipOutputStream;public class Main {    // 4MB buffer    private static final byte[] BUFFER = new byte[4096 * 1024];    /**     * copy input to output stream - available in several StreamUtils or Streams classes      */        public static void copy(InputStream input, OutputStream output) throws IOException {        int bytesRead;        while ((bytesRead = input.read(BUFFER))!= -1) {            output.write(BUFFER, 0, bytesRead);        }    }    public static void main(String[] args) throws Exception {        // read war.zip and write to append.zip        ZipFile war = new ZipFile("war.zip");        ZipOutputStream append = new ZipOutputStream(new FileOutputStream("append.zip"));        // first, copy contents from existing war        Enumeration<? extends ZipEntry> entries = war.entries();        while (entries.hasMoreElements()) {            ZipEntry e = entries.nextElement();            System.out.println("copy: " + e.getName());            append.putNextEntry(e);            if (!e.isDirectory()) {                copy(war.getInputStream(e), append);            }            append.closeEntry();        }        // now append some extra content        ZipEntry e = new ZipEntry("answer.txt");        System.out.println("append: " + e.getName());        append.putNextEntry(e);        append.write("42\n".getBytes());        append.closeEntry();        // close        war.close();        append.close();    }}
相关栏目:

用户点评