解压文件到指定目录

	    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 @ 2013-09-04 09:44  疯子FK  阅读(282)  评论(0编辑  收藏  举报