Java 无需解压直接读取zip压缩包中的内容

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

package test;

import java.io.BufferedInputStream;  
import java.io.BufferedReader;  
import java.io.FileInputStream;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.util.zip.ZipEntry;  
import java.util.zip.ZipFile;  
import java.util.zip.ZipInputStream;  


public class aaaa {

    public static void main(String[] args) throws Exception {
        try {  
               readZipFile("D:\\test\\zipRes\\002.zip");  
           } catch (Exception e) {  
               // TODO Auto-generated catch block  
               e.printStackTrace();  
           }  
    }
    
    public static void readZipFile(String file) throws Exception {  
           ZipFile zf = new ZipFile(file);  
           InputStream in = new BufferedInputStream(new FileInputStream(file));  
           ZipInputStream zin = new ZipInputStream(in);  
           ZipEntry ze;  
           while ((ze = zin.getNextEntry()) != null) {  
               if (ze.isDirectory()) {
               } else {  
                   System.err.println("file - " + ze.getName() + " : "  
                           + ze.getSize() + " bytes");  
                   long size = ze.getSize();  
                   if (size > 0) {  
                       BufferedReader br = new BufferedReader(  
                               new InputStreamReader(zf.getInputStream(ze)));  
                       String line; 
               //2017/7/16  和解压过程很类似,这里不再把读取的内容保存到文本中
          
                       while ((line = br.readLine()) != null) {  
                           System.out.println(line);  
                       }  
                       br.close();  
                   }  
                   System.out.println();  
               }  
           }  
           zin.closeEntry();  
       }  
}

转载于:https://my.oschina.net/u/3197158/blog/1422433

你可能感兴趣的:(Java 无需解压直接读取zip压缩包中的内容)