我需要替换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显示与之前相同的大小,在解压缩时我只得到我替换的文件。