服务器之家

服务器之家 > 正文

Java 文件解压缩实现代码

时间:2019-10-25 13:22     来源/作者: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!");
 }
}

 

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部