org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipFile()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(4.4k)|赞(0)|评价(0)|浏览(172)

本文整理了Java中org.apache.poi.openxml4j.opc.internal.ZipHelper.openZipFile()方法的一些代码示例,展示了ZipHelper.openZipFile()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipHelper.openZipFile()方法的具体详情如下:
包路径:org.apache.poi.openxml4j.opc.internal.ZipHelper
类名称:ZipHelper
方法名:openZipFile

ZipHelper.openZipFile介绍

[英]Opens the specified file as a secure zip, or returns null if no such file exists
[中]将指定的文件作为安全zip打开,如果不存在此类文件,则返回null

代码示例

代码示例来源:origin: org.apache.poi/poi-ooxml

/**
   * Retrieve and open as a secure zip file with the specified path.
   *
   * @param path
   *            The file path.
   * @return The zip archive freshly open.
   */
  public static ZipSecureFile openZipFile(String path) throws IOException {
    return openZipFile(new File(path));
  }
}

代码示例来源:origin: org.apache.poi/poi-ooxml

/**
 * Constructor. Opens a Zip based Open XML document from a File.
 *
 * @param file
 *            The file to open or create.
 * @param access
 *            The package access mode.
 * @throws InvalidOperationException If the zip file cannot be opened.
 */
ZipPackage(File file, PackageAccess access) throws InvalidOperationException {
  super(access);
  ZipEntrySource ze;
  try {
    final ZipFile zipFile = ZipHelper.openZipFile(file); // NOSONAR
    ze = new ZipFileZipEntrySource(zipFile);
  } catch (IOException e) {
    // probably not happening with write access - not sure how to handle the default read-write access ...
    if (access == PackageAccess.WRITE) {
      throw new InvalidOperationException("Can't open the specified file: '" + file + "'", e);
    }
    if ("java.util.zip.ZipException: archive is not a ZIP archive".equals(e.getMessage())) {
      throw new NotOfficeXmlFileException("archive is not a ZIP archive", e);
    }
    LOG.log(POILogger.ERROR, "Error in zip file "+file+" - falling back to stream processing (i.e. ignoring zip central directory)");
    ze = openZipEntrySourceStream(file);
  }
  this.zipArchive = ze;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi

/**
   * Retrieve and open as a secure zip file with the specified path.
   *
   * @param path
   *            The file path.
   * @return The zip archive freshly open.
   */
  public static ZipSecureFile openZipFile(String path) throws IOException {
    return openZipFile(new File(path));
  }
}

代码示例来源:origin: org.openl.rules/org.openl.lib.poi.dev

/**
 * Constructor. Opens a Zip based Open XML document.
 *
 * @param path
 *            The path of the file to open or create.
 * @param access
 *            The package access mode.
 * @throws InvalidFormatException
 *             If the content type part parsing encounters an error.
 */
ZipPackage(String path, PackageAccess access) {
  super(access);
  ZipFile zipFile = ZipHelper.openZipFile(path);
  if (zipFile == null)
    throw new InvalidOperationException(
        "Can't open the specified file: '" + path + "'");
  this.zipArchive = new ZipFileZipEntrySource(zipFile);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.poi

/**
 * Constructor. Opens a Zip based Open XML document from a File.
 *
 * @param file
 *            The file to open or create.
 * @param access
 *            The package access mode.
 * @throws InvalidOperationException If the zip file cannot be opened.
 */
ZipPackage(File file, PackageAccess access) throws InvalidOperationException {
  super(access);
  ZipEntrySource ze;
  try {
    final ZipFile zipFile = ZipHelper.openZipFile(file); // NOSONAR
    ze = new ZipFileZipEntrySource(zipFile);
  } catch (IOException e) {
    // probably not happening with write access - not sure how to handle the default read-write access ...
    if (access == PackageAccess.WRITE) {
      throw new InvalidOperationException("Can't open the specified file: '" + file + "'", e);
    }
    if ("java.util.zip.ZipException: archive is not a ZIP archive".equals(e.getMessage())) {
      throw new NotOfficeXmlFileException("archive is not a ZIP archive", e);
    }
    LOG.log(POILogger.ERROR, "Error in zip file "+file+" - falling back to stream processing (i.e. ignoring zip central directory)");
    ze = openZipEntrySourceStream(file);
  }
  this.zipArchive = ze;
}

代码示例来源:origin: org.apache.poi/poi-examples

/**
 *
 * @param zipfile the template file
 * @param tmpfile the XML file with the sheet data
 * @param entry the name of the sheet entry to substitute, e.g. xl/worksheets/sheet1.xml
 * @param out the stream to write the result to
 */
private static void substitute(File zipfile, File tmpfile, String entry, OutputStream out) throws IOException {
  try (ZipFile zip = ZipHelper.openZipFile(zipfile)) {
    try (ZipArchiveOutputStream zos = new ZipArchiveOutputStream(out)) {
      Enumeration<? extends ZipArchiveEntry> en = zip.getEntries();
      while (en.hasMoreElements()) {
        ZipArchiveEntry ze = en.nextElement();
        if (!ze.getName().equals(entry)) {
          zos.putArchiveEntry(new ZipArchiveEntry(ze.getName()));
          try (InputStream is = zip.getInputStream(ze)) {
            copyStream(is, zos);
          }
          zos.closeArchiveEntry();
        }
      }
      zos.putArchiveEntry(new ZipArchiveEntry(entry));
      try (InputStream is = new FileInputStream(tmpfile)) {
        copyStream(is, zos);
      }
      zos.closeArchiveEntry();
    }
  }
}

相关文章