解压文件到指定目录

private static void unzip(InputStream fis, String outputDirectory)  throws Exception { 
    ZipInputStream in = new ZipInputStream(fis); 
    ZipEntry z; 
    String name = ""
    String extractedFile = ""
    int counter = 0
 
    while ((z = in.getNextEntry()) != null) { 
        name = z.getName(); 
        Log.d("Test", "unzipping file: " + name); 
        if (z.isDirectory()) { 
            Log.d("Test", name + "is a folder"); 
            // get the folder name of the widget  
            name = name.substring(0, name.length() - 1); 
            File folder = new File(outputDirectory + File.separator + name); 
            folder.mkdirs(); 
            if (counter == 0) { 
                extractedFile = folder.toString(); 
            
            counter++; 
            Log.d("Test", "mkdir " + outputDirectory + File.separator + name); 
        } else
            Log.d("Test", name + "is a normal file"); 
            File file = new File(outputDirectory + File.separator + name); 
            file.createNewFile(); 
            // get the output stream of the file  
            FileOutputStream out = new FileOutputStream(file); 
            int ch; 
            byte[] buffer = new byte[1024]; 
            // read (ch) bytes into buffer  
            while ((ch = in.read(buffer)) != -1) { 
                // write (ch) byte from buffer at the position 0  
                out.write(buffer, 0, ch); 
                out.flush(); 
            
            out.close(); 
        
    
 
    in.close(); 
 
}

 

posted @   疯子FK  阅读(282)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示