当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ZipFile getInputStream()用法及代码示例



getInputStream()函数是java.util.zip软件包的一部分。该函数返回作为参数传递的特定ZipEntry的InputStream。关闭Zip文件也将关闭此函数生成的所有InputStream。函数签名:

public InputStream getInputStream(ZipEntry e)

用法:

zip_file.getInputStream(entry);

参数:该函数将ZipEntry对象作为参数。
返回值:该函数返回一个InputStream对象,以读取ZipFile条目的内容。
Exceptions:


  • 如果zip文件已关闭,该函数将抛出IllegalStateException
  • 如果发生ZIP格式错误,该函数将引发ZipException
  • 如果发生I /O错误,该函数将引发IOException

以下示例程序旨在说明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对象以读取文件内容。zip文件中不存在“ file4.cpp”。

// 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://docs.oracle.com/javase/7/docs/api/java/util/zip/ZipFile.html#getInputStream(java.util.zip.ZipEntry)



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 Java ZipFile getInputStream() function with examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。