Java ZipFile getInputStream()函数及示例
getInputStream()函数是Java.util.zip 包的一部分。该函数返回作为参数传递的特定 ZipEntry 的 InputStream。关闭 Zip 文件也将关闭该函数生成的所有 InputStream。
函数签名:
public InputStream getInputStream(ZipEntry e)
句法 :
zip_file.getInputStream(entry);
参数:该函数将 ZipEntry 对象作为参数。
返回值:该函数返回一个 InputStream 对象来读取 ZipFile 条目的内容。
例外:
下面的程序说明了 getInputStream()函数的使用
示例 1:我们将创建一个名为 zip_file 的文件并使用 getEntry()函数获取 zip 文件条目,然后获取 Input Stream 对象以读取文件的内容。“file.zip”是存在于 f: 目录中的 zip 文件.
// Java program to demonstrate the
// use of getInputStream() function
import java.util.zip.*;
import java.util.Enumeration;
import java.util.*;
import java.io.*;
public class solution {
public static void main(String args[])
{
try {
// Create a Zip File
ZipFile zip_file = new ZipFile("f:\\file.zip");
// get the Zip Entry using
// the getEntry() function
ZipEntry entry = zip_file.getEntry("file1.cpp");
// get the Input Stream
// using the getInputStream()
// function
InputStream input = zip_file.getInputStream(entry);
// Create a scanner object
Scanner sc = new Scanner(input);
System.out.println("Contents:");
// Display the contents Zip Entry
while (sc.hasNext()) {
System.out.println(sc.nextLine());
}
// Close the scanner
sc.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出:
Contents:
This is a file in ZIP file.
示例 2:我们将创建一个名为 zip_file 的文件并使用 getEntry()函数获取 zip 文件条目,然后获取 Input Stream 对象以读取文件的内容。“file4.cpp”不存在于 zip 文件中。
// Java program to demonstrate the
// use of getInputStream() function
import java.util.zip.*;
import java.util.Enumeration;
import java.util.*;
import java.io.*;
public class solution {
public static void main(String args[])
{
try {
// Create a Zip File
ZipFile zip_file = new ZipFile("f:\\file.zip");
// get the Zip Entry using
// the getEntry() function
ZipEntry entry = zip_file.getEntry("file4.cpp");
// Get the Input Stream
// using the getInputStream()
// function
InputStream input = zip_file.getInputStream(entry);
// Create a scanner object
Scanner sc = new Scanner(input);
System.out.println("Contents:");
// Display the contents Zip Entry
while (sc.hasNext()) {
System.out.println(sc.nextLine());
}
// Close the scanner
sc.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出:
null
函数抛出错误。
参考: https: Java Java.util.zip.ZipEntry)