public static ArrayList<File> upZipSelectedFile(File zipFile,
	    String folderPath, String nameContains) throws ZipException,
	    IOException {
	ArrayList<File> fileList = new ArrayList<File>();

	File desDir = new File(folderPath);
	if (!desDir.exists()) {
	    desDir.mkdir();
	}

	ZipFile zf = new ZipFile(zipFile);
	for (Enumeration<?> entries = zf.entries(); entries.hasMoreElements();) {
	    ZipEntry entry = ((ZipEntry) entries.nextElement());
	    if (entry.getName().contains(nameContains)) {
		InputStream in = zf.getInputStream(entry);
		String str = folderPath + File.separator + entry.getName();
		str = new String(str.getBytes("8859_1"), "GB2312");
		// str.getBytes("GB2312"),"8859_1" 输出
		// str.getBytes("8859_1"),"GB2312" 输入
		File desFile = new File(str);
		if (!desFile.exists()) {
		    File fileParentDir = desFile.getParentFile();
		    if (!fileParentDir.exists()) {
			fileParentDir.mkdirs();
		    }
		    desFile.createNewFile();
		}
		OutputStream out = new FileOutputStream(desFile);
		byte buffer[] = new byte[BUFF_SIZE];
		int realLength;
		while ((realLength = in.read(buffer)) > 0) {
		    out.write(buffer, 0, realLength);
		}
		in.close();
		out.close();
		fileList.add(desFile);
	    }
	}
	return fileList;
    }