/** * Creates a new zip entry taking some information from the given * file and using the provided name. * * <p>The name will be adjusted to end with a forward slash "/" if * the file is a directory. If the file is not a directory a * potential trailing forward slash will be stripped from the * entry name.</p> * * <p>Must not be used if the stream has already been closed.</p> */ @Override public ArchiveEntry createArchiveEntry(final File inputFile, final String entryName) throws IOException { if (finished) { throw new IOException("Stream has already been finished"); } return new ZipArchiveEntry(inputFile, entryName); }
@Signature public PZipArchiveEntry ofFile(Environment env, File file, String fileName) { return new PZipArchiveEntry(env, new ZipArchiveEntry(file, fileName)); }
@Signature public PZipArchiveEntry ofFile(Environment env, File file) { return new PZipArchiveEntry(env, new ZipArchiveEntry(file, file.getName())); }
/** * Retrieve the zip entry of the core properties part. * * @throws IllegalArgumentException If the relationship for * core properties cannot be read or an invalid name is * specified in the properties. */ public static ZipArchiveEntry getCorePropertiesZipEntry(ZipPackage pkg) { PackageRelationship corePropsRel = pkg.getRelationshipsByType( PackageRelationshipTypes.CORE_PROPERTIES).getRelationship(0); if (corePropsRel == null) { return null; } return new ZipArchiveEntry(corePropsRel.getTargetURI().getPath()); }
@Signature public void __construct(String name, long size) { __wrappedObject = new ZipArchiveEntry(name); getWrappedObject().setSize(size); }
@edu.umd.cs.findbugs.annotations.SuppressWarnings( value = "OBL_UNSATISFIED_OBLIGATION", justification = "Lombok construct of @Cleanup is handing this, but not detected by FindBugs") private static void addFilesToZip(File zipFile, List<File> filesToAdd) throws IOException { try { @Cleanup OutputStream archiveStream = new FileOutputStream(zipFile); @Cleanup ArchiveOutputStream archive = new ArchiveStreamFactory().createArchiveOutputStream(ArchiveStreamFactory.ZIP, archiveStream); for (File fileToAdd : filesToAdd) { ZipArchiveEntry entry = new ZipArchiveEntry(fileToAdd.getName()); archive.putArchiveEntry(entry); @Cleanup BufferedInputStream input = new BufferedInputStream(new FileInputStream(fileToAdd)); IOUtils.copy(input, archive); archive.closeArchiveEntry(); } archive.finish(); } catch (ArchiveException e) { throw new IOException("Issue with creating archive", e); } }
public void saveContentTypes(ContentTypeManager ctm) throws Docx4JException { try { zos.putArchiveEntry(new ZipArchiveEntry("[Content_Types].xml")); ctm.marshal(zos); zos.closeArchiveEntry(); } catch (Exception e) { throw new Docx4JException("Error marshalling Content_Types ", e); } }
public void saveXmlPart(XmlPart part) throws Docx4JException { String targetName = part.getPartName().getName().substring(1); try { // Add ZIP entry to output stream. zos.putArchiveEntry(new ZipArchiveEntry(targetName)); Document doc = part.getDocument(); /* * With Crimson, this gives: * Exception in thread "main" java.lang.AbstractMethodError: org.apache.crimson.tree.XmlDocument.getXmlStandalone()Z at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:373) at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127) at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:662) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:708) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313) at org.docx4j.model.datastorage.CustomXmlDataStorageImpl.writeDocument(CustomXmlDataStorageImpl.java:174) * */ DOMSource source = new DOMSource(doc); XmlUtils.getTransformerFactory().newTransformer().transform(source, new StreamResult(zos) ); // Complete the entry zos.closeArchiveEntry(); } catch (Exception e) { throw new Docx4JException("Error marshalling XmlPart " + part.getPartName(), e); } }
public void saveCustomXmlDataStoragePart(CustomXmlDataStoragePart part) throws Docx4JException { String targetName = part.getPartName().getName().substring(1); try { // Add ZIP entry to output stream. zos.putArchiveEntry(new ZipArchiveEntry(targetName)); part.getData().writeDocument( zos ); // Complete the entry zos.closeArchiveEntry(); } catch (Exception e) { throw new Docx4JException("Error marshalling CustomXmlDataStoragePart " + part.getPartName(), e); } }
@Override public boolean marshall(PackagePart part, OutputStream out) throws OpenXML4JException { if (!(out instanceof ZipArchiveOutputStream)) { throw new IllegalArgumentException("ZipOutputStream expected!"); } ZipArchiveOutputStream zos = (ZipArchiveOutputStream) out; // Saving the part in the zip file ZipArchiveEntry ctEntry = new ZipArchiveEntry(ZipHelper .getZipItemNameFromOPCName(part.getPartName().getURI() .toString())); try { // Save in ZIP zos.putArchiveEntry(ctEntry); // Add entry in ZIP try { super.marshall(part, out); // Marshall the properties inside a XML // Document return StreamHelper.saveXmlInStream(xmlDoc, out); } finally { zos.closeArchiveEntry(); } } catch (IOException e) { throw new OpenXML4JException(e.getLocalizedMessage(), e); } } }
ZipArchiveEntry ctEntry = new ZipArchiveEntry(ZipHelper.getZipURIFromOPCName( relPartName.getURI().toASCIIString()).getPath()); try {
ZipArchiveEntry ze = new ZipArchiveEntry(resolvedPartUri); ze.setMethod(ZipArchiveOutputStream.STORED); zos.putArchiveEntry(new ZipArchiveEntry(resolvedPartUri));
@SuppressWarnings("resource") @Override public boolean saveImpl(Document content, OutputStream out) { final ZipArchiveOutputStream zos = (out instanceof ZipArchiveOutputStream) ? (ZipArchiveOutputStream) out : new ZipArchiveOutputStream(out); ZipArchiveEntry partEntry = new ZipArchiveEntry(CONTENT_TYPES_PART_NAME); try { // Referenced in ZIP zos.putArchiveEntry(partEntry); try { // Saving data in the ZIP file return StreamHelper.saveXmlInStream(content, zos); } finally { zos.closeArchiveEntry(); } } catch (IOException ioe) { logger.log(POILogger.ERROR, "Cannot write: " + CONTENT_TYPES_PART_NAME + " in Zip !", ioe); return false; } } }
zos.putArchiveEntry(new ZipArchiveEntry(targetName));
ZipArchiveEntry zeNew = new ZipArchiveEntry(ze.getName()); zeNew.setComment(ze.getComment()); zeNew.setExtra(ze.getExtra());
/** * Adds an archive entry with a raw input stream. * * If crc, size and compressed size are supplied on the entry, these values will be used as-is. * Zip64 status is re-established based on the settings in this stream, and the supplied value * is ignored. * * The entry is put and closed immediately. * * @param entry The archive entry to add * @param rawStream The raw input stream of a different entry. May be compressed/encrypted. * @throws IOException If copying fails */ public void addRawArchiveEntry(final ZipArchiveEntry entry, final InputStream rawStream) throws IOException { final ZipArchiveEntry ae = new ZipArchiveEntry(entry); if (hasZip64Extra(ae)) { // Will be re-added as required. this may make the file generated with this method // somewhat smaller than standard mode, // since standard mode is unable to remove the zip 64 header. ae.removeExtraField(Zip64ExtendedInformationExtraField.HEADER_ID); } final boolean is2PhaseSource = ae.getCrc() != ZipArchiveEntry.CRC_UNKNOWN && ae.getSize() != ArchiveEntry.SIZE_UNKNOWN && ae.getCompressedSize() != ArchiveEntry.SIZE_UNKNOWN; putArchiveEntry(ae, is2PhaseSource); copyFromZipInputStream(rawStream); closeCopiedEntry(is2PhaseSource); }
ZipArchiveEntry partEntry = new ZipArchiveEntry(ZipHelper .getZipItemNameFromOPCName(part.getPartName().getURI() .getPath()));
while (en.hasMoreElements()) { ZipArchiveEntry ze = en.nextElement(); ZipArchiveEntry zeOut = new ZipArchiveEntry(ze.getName()); zeOut.setSize(ze.getSize()); zeOut.setTime(ze.getTime());
private static void zipStoreBuffer(ZipArchiveOutputStream zip, String name, byte[] dataBuffer) throws IOException { ZipEntry zipEntry = new ZipEntry(name != null ? name : UUID.randomUUID().toString()); zipEntry.setMethod(ZipOutputStream.STORED); zipEntry.setSize(dataBuffer.length); CRC32 crc32 = new CRC32(); crc32.update(dataBuffer); zipEntry.setCrc(crc32.getValue()); try { zip.putArchiveEntry(new ZipArchiveEntry(zipEntry)); } catch (ZipException ex) { if (name != null) { zipStoreBuffer(zip, "x-" + name, dataBuffer); return; } } zip.write(dataBuffer); zip.closeArchiveEntry(); }
ZipArchiveEntry ze = new ZipArchiveEntry( vPath ); setTime( ze, lastModified );