Java 文件 解压缩 示例

来源:互联网 发布:淘宝与天猫是一家的吗 编辑:程序博客网 时间:2024/06/02 18:49

Java实现压缩文件的解压缩操作,缺点是压缩文件内不能含有文件名为中文的的文件,否则会出现如下错误:

Exception in thread "main" java.lang.IllegalArgumentException: MALFORMEDat java.util.zip.ZipCoder.toString(Unknown Source)at java.util.zip.ZipInputStream.readLOC(Unknown Source)at java.util.zip.ZipInputStream.getNextEntry(Unknown Source)at com.javatest.techzero.gui.ZipFileDemo.main(ZipFileDemo.java:22)

代码:

package com.javatest.techzero.gui;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;import java.util.zip.ZipInputStream;public class ZipFileDemo {@SuppressWarnings("resource")public static void main(String args[]) throws Exception {File file = new File("d:" + File.separator + "test.zip");File outFile = null;ZipFile zipFile = new ZipFile(file);ZipInputStream zipInput = new ZipInputStream(new FileInputStream(file));ZipEntry entry = null;InputStream input = null;OutputStream out = null;while ((entry = zipInput.getNextEntry()) != null) {System.out.println("开始解压缩" + entry.getName() + "文件。。。");outFile = new File("d:" + File.separator + entry.getName());if (!outFile.getParentFile().exists()) {outFile.getParentFile().mkdir();}if (!outFile.exists()) {outFile.createNewFile();}input = zipFile.getInputStream(entry);out = new FileOutputStream(outFile);int temp = 0;while ((temp = input.read()) != -1) {//System.out.println(temp);out.write(temp);}input.close();out.close();}System.out.println("Done!");}}


0 0
原创粉丝点击