From c1a0c375b2a6fe049f52cfa50a8669af18823972 Mon Sep 17 00:00:00 2001 From: kimsung604 Date: Tue, 28 Nov 2017 10:25:39 +0900 Subject: [PATCH] Update EpubWriter.java addContent & addStringToZip need set zip method and crc set. --- .../opencollab/epub/creator/util/EpubWriter.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/coza/opencollab/epub/creator/util/EpubWriter.java b/src/main/java/coza/opencollab/epub/creator/util/EpubWriter.java index 2fb25ca..5bde18e 100644 --- a/src/main/java/coza/opencollab/epub/creator/util/EpubWriter.java +++ b/src/main/java/coza/opencollab/epub/creator/util/EpubWriter.java @@ -124,7 +124,11 @@ private long calculateCrc(byte[] data) { * @throws IOException */ private void addStringToZip(ZipOutputStream resultStream, String fileName, String content) throws IOException { - resultStream.putNextEntry(new ZipEntry(fileName)); + ZipEntry entry = new ZipEntry(fileName); + entry.setMethod(ZipEntry.STORED); + entry.setSize(content.getBytes("UTF-8").length); + entry.setCrc(calculateCrc(content.getBytes("UTF-8"))); + resultStream.putNextEntry(entry); Writer out = new OutputStreamWriter(resultStream, "UTF-8"); out.write(content); out.flush(); @@ -139,7 +143,11 @@ private void addStringToZip(ZipOutputStream resultStream, String fileName, Strin */ private void addContent(ZipOutputStream resultStream, List contents) throws IOException { for (Content content : contents) { - resultStream.putNextEntry(new ZipEntry(contentFolder + "/" + content.getHref())); + ZipEntry entry = new ZipEntry(contentFolder + "/" + content.getHref()); + entry.setMethod(ZipEntry.STORED); + entry.setSize(content.getContent().length); + entry.setCrc(calculateCrc(content.getContent())); + resultStream.putNextEntry(entry); resultStream.write(content.getContent()); } }