`
chenhao_yssy
  • 浏览: 32254 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Java 解压目录下的zip文件

 
阅读更多

 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public void parseZIP(){
     List<String> list = new ArrayList<String>();
		File[] files = new File("存放压缩文件的那个目录").listFiles();
		for (File file : files) {
			if (file.getName().endsWith(".zip")){   //找出以.zip结尾的文件
				list.add(file.getPath());
			}
		}
		
		for(int i = 0; i < list.size(); i++){
			String filePath = list.get(i);
			String destDir = "解压到的目标目录";
			destDir = destDir.endsWith("\\") ? destDir : destDir + "\\";
			byte b[] = new byte[512];
			int length;
			ZipFile zipFile;
			try {
				zipFile = new ZipFile(new File(filePath));
				Enumeration enumeration = zipFile.entries();
				ZipEntry zipEntry = null;
				while (enumeration.hasMoreElements()) {
					zipEntry = (ZipEntry) enumeration.nextElement();
					if(zipEntry.getName().endsWith(".xml")){      //只解压出其中的XML文件
						File loadFile = new File(destDir + zipEntry.getName());
						if (zipEntry.isDirectory()) {
							loadFile.mkdirs();
						} else {
							if (!loadFile.getParentFile().exists())
								loadFile.getParentFile().mkdirs();
							OutputStream outputStream = new FileOutputStream(loadFile);
							InputStream inputStream = zipFile.getInputStream(zipEntry);
							while ((length = inputStream.read(b)) > 0) {
								outputStream.write(b, 0, length);
							}

						}
					}
				}
			} catch (IOException e) {
			}
		}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics