Here you can find the source of upZipFile(File zipFile, String folderPath)
public static void upZipFile(File zipFile, String folderPath) throws ZipException, IOException
//package com.java2s; import java.io.*; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipException; import java.util.zip.ZipFile; public class Main { private static final int BUFF_SIZE = 1024 * 1024; public static void upZipFile(File zipFile, String folderPath) throws ZipException, IOException { File desDir = new File(folderPath); if (!desDir.exists()) { desDir.mkdirs();//w w w . ja v a 2 s .c o m } ZipFile zf = new ZipFile(zipFile); for (Enumeration<?> entries = zf.entries(); entries .hasMoreElements();) { ZipEntry entry = ((ZipEntry) entries.nextElement()); InputStream in = new BufferedInputStream( zf.getInputStream(entry)); String str = folderPath + File.separator + entry.getName(); str = new String(str.getBytes("8859_1"), "GB2312"); File desFile = new File(str); if (!desFile.exists()) { File fileParentDir = desFile.getParentFile(); if (fileParentDir.exists() && !fileParentDir.isDirectory()) fileParentDir.delete(); if (!fileParentDir.exists()) { fileParentDir.mkdirs(); } desFile.createNewFile(); } OutputStream out = new FileOutputStream(desFile); byte buffer[] = new byte[BUFF_SIZE]; int realLength = 0; while ((realLength = in.read(buffer)) != -1) { out.write(buffer, 0, realLength); } in.close(); out.close(); } zf.close(); //add by kqstone } }