java.util.zip.ZipFile.getInputStream()方法的使用及代码示例

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

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

ZipFile.getInputStream介绍

[英]Returns an input stream on the data of the specified ZipEntry.
[中]返回指定ZipEntry的数据的输入流。

代码示例

代码示例来源:origin: libgdx/libgdx

private InputStream getFromJar (String jarFile, String sharedLibrary) throws IOException {
  ZipFile file = new ZipFile(nativesJar);
  ZipEntry entry = file.getEntry(sharedLibrary);
  return file.getInputStream(entry);
}

代码示例来源:origin: stackoverflow.com

public static void main(String[] args) throws IOException {
  ZipFile zipFile = new ZipFile("C:/test.zip");

  Enumeration<? extends ZipEntry> entries = zipFile.entries();

  while(entries.hasMoreElements()){
    ZipEntry entry = entries.nextElement();
    InputStream stream = zipFile.getInputStream(entry);
  }
}

代码示例来源:origin: Atmosphere/atmosphere

public InputStream next() throws IOException {
  while (entries.hasMoreElements()) {
    current = entries.nextElement();
    if (accept(current)) {
      return zipFile.getInputStream(current);
    }
  }
  // no more entries in this ZipFile, so close ZipFile
  try {
    // zipFile is never null here
    zipFile.close();
  } catch (IOException ex) { // SUPPRESS CHECKSTYLE EmptyBlockCheck
    // suppress IOException, otherwise close() is called twice
  }
  return null;
}

代码示例来源:origin: redisson/redisson

/**
 * Opens zip entry or plain file and returns its input stream.
 */
public InputStream openInputStream() {
  if (zipFile != null) {
    try {
      inputStream = zipFile.getInputStream(zipEntry);
      return inputStream;
    } catch (IOException ioex) {
      throw new FindFileException("Input stream error: '" + zipFile.getName()
          + "', entry: '" + zipEntry.getName() + "'." , ioex);
    }
  }
  try {
    inputStream = new FileInputStream(file);
    return inputStream;
  } catch (FileNotFoundException fnfex) {
    throw new FindFileException("Unable to open: " + file.getAbsolutePath(), fnfex);
  }
}

代码示例来源:origin: org.apache.ant/ant

/**
 * @return null if jarFile doesn't contain a manifest, the
 * manifest otherwise.
 * @since Ant 1.5.2
 */
private Manifest getManifestFromJar(File jarFile) throws IOException {
  try (ZipFile zf = new ZipFile(jarFile)) {
    // must not use getEntry as "well behaving" applications
    // must accept the manifest in any capitalization
    ZipEntry ze = StreamUtils.enumerationAsStream(zf.entries())
        .filter(entry -> MANIFEST_NAME.equalsIgnoreCase(entry.getName()))
        .findFirst().orElse(null);
    if (ze == null) {
      return null;
    }
    try (InputStreamReader isr = new InputStreamReader(zf.getInputStream(ze), "UTF-8")) {
      return getManifest(isr);
    }
  }
}

代码示例来源:origin: zeroturnaround/zt-zip

zf = new ZipFile(zip);
for (String entryName : names) {
 ZipEntry entry = zf.getEntry(entryName);
 if (entry != null) {
  if (entry.isDirectory()) {
   dirs.add(entry.getName());
  else if (zf.getInputStream(entry) == null) {
   dirs.add(entry.getName() + PATH_SEPARATOR);

代码示例来源:origin: stackoverflow.com

// ITS PSEUDOCODE!!

private InputStream extractOnlyFile(String path) {
  ZipFile zf = new ZipFile(path);
  Enumeration e = zf.entries();
  ZipEntry entry = (ZipEntry) e.nextElement(); // your only file
  return zf.getInputStream(entry);
}

代码示例来源:origin: libgdx/libgdx

private InputStream getFromJar (String jarFile, String sharedLibrary) throws IOException {
  ZipFile file = new ZipFile(nativesJar);
  ZipEntry entry = file.getEntry(sharedLibrary);
  return file.getInputStream(entry);
}

代码示例来源:origin: marytts/marytts

private static void unzipEntry(ZipFile zipfile, ZipEntry entry, File outputDir) throws IOException {
  if (entry.isDirectory()) {
    createDir(new File(outputDir, entry.getName()));
    return;
  }
  File outputFile = new File(outputDir, entry.getName());
  if (!outputFile.getParentFile().exists()) {
    createDir(outputFile.getParentFile());
  }
  BufferedInputStream inputStream = new BufferedInputStream(zipfile.getInputStream(entry));
  BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outputFile));
  try {
    IOUtils.copy(inputStream, outputStream);
  } finally {
    outputStream.close();
    inputStream.close();
  }
}

代码示例来源:origin: apache/ignite

zip = new ZipFile(zipFile);
for (ZipEntry entry : asIterable(zip.entries())) {
  if (entry.isDirectory()) {
    new File(toDir, entry.getName()).mkdirs();
    in = zip.getInputStream(entry);
    File outFile = new File(toDir, entry.getName());

代码示例来源:origin: stackoverflow.com

public static void unzip(File zipfile, File directory) throws IOException {
 ZipFile zfile = new ZipFile(zipfile);
 Enumeration<? extends ZipEntry> entries = zfile.entries();
 while (entries.hasMoreElements()) {
  ZipEntry entry = entries.nextElement();
  File file = new File(directory, entry.getName());
  if (entry.isDirectory()) {
   file.mkdirs();
  } else {
   file.getParentFile().mkdirs();
   InputStream in = zfile.getInputStream(entry);
   try {
    copy(in, file);
   } finally {
    in.close();
   }
  }
 }
}

代码示例来源:origin: stackoverflow.com

ZipFile zipFile = new ZipFile("file.zip");
ZipEntry zipEntry = zipFile.getEntry("fileName.txt");       
InputStream inputStream = zipFile.getInputStream(zipEntry);

代码示例来源:origin: marytts/marytts

private static void unzipEntry(ZipFile zipfile, ZipEntry entry, File outputDir) throws IOException {
  if (entry.isDirectory()) {
    createDir(new File(outputDir, entry.getName()));
    return;
  }
  File outputFile = new File(outputDir, entry.getName());
  if (!outputFile.getParentFile().exists()) {
    createDir(outputFile.getParentFile());
  }
  BufferedInputStream inputStream = new BufferedInputStream(zipfile.getInputStream(entry));
  BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outputFile));
  try {
    IOUtils.copy(inputStream, outputStream);
  } finally {
    outputStream.close();
    inputStream.close();
  }
}

代码示例来源:origin: apache/storm

private void readArchive(ZipFile zipFile) throws IOException {
    Enumeration<? extends ZipEntry> zipEnums = zipFile.entries();
    while (zipEnums.hasMoreElements()) {
      ZipEntry entry = zipEnums.nextElement();
      if (!entry.isDirectory()) {
        if (defaultsConf == null && entry.getName().equals("defaults.yaml")) {
          try (InputStreamReader isr = new InputStreamReader(zipFile.getInputStream(entry))) {
            defaultsConf = (Map<String, Object>) yaml.load(isr);
          }
        }
        if (stormConf == null && entry.getName().equals("storm.yaml")) {
          try (InputStreamReader isr = new InputStreamReader(zipFile.getInputStream(entry))) {
            stormConf = (Map<String, Object>) yaml.load(isr);
          }
        }
      }
    }
  }
}

代码示例来源:origin: Tencent/tinker

public static String getZipEntryMd5(File file, String entryName) {
  ZipFile zipFile = null;
  try {
    zipFile = new ZipFile(file);
    ZipEntry entry = zipFile.getEntry(entryName);
    if (entry == null) {
      return null;
    }
    return MD5.getMD5(zipFile.getInputStream(entry), 1024 * 100);
  } catch (IOException e) {
    e.printStackTrace();
  } finally {
    if (zipFile != null) {
      try {
        zipFile.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
  return null;
}

代码示例来源:origin: spotbugs/spotbugs

private boolean embeddedNameMismatch(ZipFile zipInputFile, ZipEntry ze) throws IOException {
  InputStream zipIn = zipInputFile.getInputStream(ze);
  String name = ze.getName();
  JavaClass j = new ClassParser(zipIn, name).parse();
  zipIn.close();
  String className = j.getClassName();
  String computedFileName = ClassName.toSlashedClassName(className)+".class";
  if (name.charAt(0) == '1') {
    System.out.println(name);
    System.out.println("  " + className);
  }
  if (computedFileName.equals(name)) {
    return false;
  }
  System.out.println("In " + name + " found " + className);
  return true;
}

代码示例来源:origin: Tencent/tinker

checkDirectory(filePath);
ZipFile zipFile = new ZipFile(fileName);
Enumeration enumeration = zipFile.entries();
try {
  while (enumeration.hasMoreElements()) {
    ZipEntry entry = (ZipEntry) enumeration.nextElement();
    if (entry.isDirectory()) {
      new File(filePath, entry.getName()).mkdirs();
      continue;
    BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry));
    File file = new File(filePath + File.separator + entry.getName());

代码示例来源:origin: libgdx/libgdx

private InputStream readFile (String path) {
  if (nativesJar == null) {
    InputStream input = SharedLibraryLoader.class.getResourceAsStream("/" + path);
    if (input == null) throw new GdxRuntimeException("Unable to read file for extraction: " + path);
    return input;
  }
  // Read from JAR.
  try {
    ZipFile file = new ZipFile(nativesJar);
    ZipEntry entry = file.getEntry(path);
    if (entry == null) throw new GdxRuntimeException("Couldn't find '" + path + "' in JAR: " + nativesJar);
    return file.getInputStream(entry);
  } catch (IOException ex) {
    throw new GdxRuntimeException("Error reading '" + path + "' in JAR: " + nativesJar, ex);
  }
}

代码示例来源:origin: oblac/jodd

/**
 * Opens zip entry or plain file and returns its input stream.
 */
public InputStream openInputStream() {
  if (inputStream != null) {
    return inputStream;
  }
  if (zipFile != null && zipEntry != null) {
    try {
      inputStream = zipFile.getInputStream(zipEntry);
      return inputStream;
    } catch (IOException ioex) {
      throw new FindFileException("Input stream error: '" + zipFile.getName()
        + "', entry: '" + zipEntry.getName() + "'." , ioex);
    }
  }
  if (file != null) {
    try {
      inputStream = new FileInputStream(file);
      return inputStream;
    } catch (FileNotFoundException fnfex) {
      throw new FindFileException("Unable to open: " + file.getAbsolutePath(), fnfex);
    }
  }
  throw new FindFileException("Unable to open stream: " + name());
}

代码示例来源:origin: stackoverflow.com

java.util.zip.ZipFile zipFile = new ZipFile(file);
try {
 Enumeration<? extends ZipEntry> entries = zipFile.entries();
 while (entries.hasMoreElements()) {
  ZipEntry entry = entries.nextElement();
  File entryDestination = new File(outputDir,  entry.getName());
  if (entry.isDirectory()) {
    entryDestination.mkdirs();
  } else {
    entryDestination.getParentFile().mkdirs();
    InputStream in = zipFile.getInputStream(entry);
    OutputStream out = new FileOutputStream(entryDestination);
    IOUtils.copy(in, out);
    IOUtils.closeQuietly(in);
    out.close();
  }
 }
} finally {
 zipFile.close();
}

相关文章