java解压缩一个文件

/** * 解压缩一个文件 * * @param zipFile * 压缩文件 * @param folderPath * 解压缩的目标目录 * @throws IOException * 当解压缩过程出错时抛出 */ public static void unZipFile(File zipFile, String folderPath) throws ZipException, IOException { String sub = zipFile.getName(); int pos = sub.lastIndexOf(".");
if (pos >= 0) { sub = sub.substring(0, pos); } File subDir = new File(folderPath + File.separator + sub); if (subDir.exists()) { deleteFile(subDir); } subDir.mkdirs(); ZipFile zf = new ZipFile(zipFile); for (Enumeration<?> entries = zf.entries(); entries.hasMoreElements();)
{ ZipEntry entry = ((ZipEntry) entries.nextElement()); InputStream in = zf.getInputStream(entry); String str = subDir.getAbsolutePath() + File.separator + entry.getName(); // str = new String(str.getBytes("8859_1"), "utf-8"); File desFile = new File(str);
if (!desFile.exists()) { File fileParentDir = desFile.getParentFile(); if (!fileParentDir.exists()) { fileParentDir.mkdirs(); } if (entry.isDirectory()) { desFile.mkdirs(); continue; } desFile.createNewFile(); } OutputStream out = new FileOutputStream(desFile);
byte buffer[] = new byte[10240]; int realLength; while ((realLength = in.read(buffer)) > 0) { out.write(buffer, 0, realLength); } in.close(); out.close(); } zf.close(); } private static void deleteFile(File file) { if (file.isDirectory()) { File[] fs = file.listFiles();
if (fs != null) { for (File f : fs) { deleteFile(f); } } } file.delete(); }

时间: 2024-10-23 00:45:18

java解压缩一个文件的相关文章

Linux递归解压缩一个文件夹下的所有文件

gunzip -r hongchangfirst/data 如何递归删除那些剩余的非log结尾的文件? 先列出确认一下: find hongchangfirst/data -type f ! -name "*.log" 然后真正的删除: find hongchangfirst/data -type f ! -name "*.log" -exec rm -f {} \; 记住后边-exec一定要加空格,否则会出现find: missing argument to `-

Java解压缩zip文件

下面实现的功能是zip文件中的图像文件解压到当前目录下,用jdk自带的处理zip文件的代码处理的,但是不能处理中文名称的文件,要不然就会出错. Java代码   import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import jav

Java遍历一个文件夹下的全部文件

Java工具中为我们提供了一个用于管理文件系统的类,这个类就是File类,File类与其它流类不同的是,流类关心的是文件的内容.而File类关心的是磁盘上文件的存储. 一,File类有多个构造器,经常使用的构造器有: 1.public File(String pathname){} 在pathname路径下创建文件对象 2.public File(String path,String name){} 在path參数指定的文件夹中创建具有给定名字的File对象.假设path为null,构造器将使用

java 把一个文件夹里图片复制到另一个文件夹里

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Calendar; public class SendServer { private int num = 0; public void process() { Calendar calendar = Calendar.getInstance(); String dir = calendar.

java 解压缩Zip文件 ziputil

package com.lanyuan.assembly.util; import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration; import org.apache.tools.zip.ZipEntry;import

java遍历一个文件夹中的所有文件

public static void main(String[] args) { traverseFileFolders(new File("D:")); traverseFileFolders(new File("D:\\apache-tomcat-6.0.33\\conf")); } public static void traverseFileFolders(File base){ if(base!=null)traverseFileFolders(base.

Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php

Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php 1. Jdk zip 跟apache ant zip 1 2. Apache Ant包进行ZIP文件压缩,upzip 大概流程.. 1 3. 读文件名称ok,但是cant读取到input说NPE.. 2 4. Ant1.8.2.jar 2 5. #---详细code 2 6. 参考 4 1.  Jdk zip 跟apache ant zip 下面实现的功能是zip文件中的图像文件解压到当前目录下,用jdk自带的处

Java实现压缩文件与解压缩文件

由于工作需要,需要将zip的压缩文件进行解压,经过调查发现,存在两个开源的工具包,一个是Apache的ant工具包,另一个就是Java api自带的工具包:但是Java自带的工具包存在问题:如果压缩或者解压的文件存在非英文字符(比如中文.以色列文),在操作的过程中会存在问题:MALFORMAL Eception-- 以下是通过Apache的zip工具包进行压缩和解压的代码(需要ant.jar): package com.steven.file; import java.io.File; impo

Java获取一个路径下指定后缀名的所有文件

方法一: http://blog.csdn.net/zjx102938/article/details/8114114 import java.io.File; import java.util.ArrayList; import java.util.List; public class FileFind { public static void main(String[] args) { String path = "D:\\Test"; List data=new ArrayLis