使用java替换zip中的特定文件

时间:2014-02-25 10:30:00

标签: java file replace zip

我需要替换zip存档中的特定CSS文件,文件存放在EPUB / styles / stylesheet.css文件夹下

这是我的代码(我需要在java 6中完成)

public static void main(String[] args) throws IOException {

    File newCss=new File("D:\\test\\css\\stylesheet.css");
    ZipOutputStream out = new ZipOutputStream(new FileOutputStream
    (new File("D:\\test\\css\\edited\\my_book.epub"),true));
    out.putNextEntry(new ZipEntry("EPUB/styles/stylesheet.css"));

    InputStream in = new FileInputStream(newCss);
    byte[] buf = new byte[4096 * 1024]; 
    int len;
    while ((len = in.read(buf)) > 0) {
        out.write(buf, 0, len);
    }
    out.closeEntry();
    in.close();
    out.close();
    System.out.println("Done Replacing entry");
}
}

但是在执行此代码时,整个zip只包含CSS我替换了所有其他内容丢失但是zip显示与之前相同的大小,在解压缩时我只得到我替换的文件。

0 个答案:

没有答案