H5W3
当前位置:H5W3 > 其他技术问题 > 正文

Java 文件解压缩实现代码

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

代码如下:
Exception in thread “main” java.lang.IllegalArgumentException: MALFORMED at 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) {   <SPAN style=”WHITE-SPACE: pre”> </SPAN>//System.out.println(temp);    out.write(temp);   }   input.close();   out.close();  }  System.out.println(“Done!”); }}

本文地址:H5W3 » Java 文件解压缩实现代码

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址