JAVA怎么把zip文件解压到指定位置

要用最简单的方法因为我是初学者

第1个回答  2010-03-15
刚好我在项目中用到了,送给你,希望你能用上。

/**
* 解压,处理下载的zip工具包文件
*
* @param directory
* 要解压到的目录
* @param zip
* 工具包文件
*
* @throws Exception
* 操作失败时抛出异常
*/
public static void unzipFile(String directory, File zip) throws Exception
{
try
{
ZipInputStream zis = new ZipInputStream(new FileInputStream(zip));
ZipEntry ze = zis.getNextEntry();
File parent = new File(directory);
if (!parent.exists() && !parent.mkdirs())
{
throw new Exception("创建解压目录 \"" + parent.getAbsolutePath() + "\" 失败");
}
while (ze != null)
{
String name = ze.getName();
File child = new File(parent, name);
FileOutputStream output = new FileOutputStream(child);
byte[] buffer = new byte[10240];
int bytesRead = 0;
while ((bytesRead = zis.read(buffer)) > 0)
{
output.write(buffer, 0, bytesRead);
}
output.flush();
output.close();
ze = zis.getNextEntry();
}
zis.close();
}
catch (IOException e)
{
}
}本回答被提问者和网友采纳
第2个回答  2015-11-07
通过ZipInStream类将压缩文件解压到指定的文件夹中:
源程序是:
import java.io.*;
import java.util.zip.*;
public class Decompressing { // 创建文件
public static void main(String[] temp) {
ZipInputStream zin; // 创建ZipInputStream对象
try { // try语句捕获可能发生的异常
zin = new ZipInputStream(new FileInputStream("F:/hello.zip"));
// 实例化对象,指明要进行解压的文件
ZipEntry entry = zin.getNextEntry(); // 获取下一个ZipEntry
while (((entry = zin.getNextEntry()) != null)
&& !entry.isDirectory()) {
// 如果entry不为空,并不在同一目录下
File file = new File("F:\" + entry.getName()); // 获取文件目录
System.out.println(file);
if (!file.exists()) { // 如果该文件不存在
file.mkdirs();// 创建文件所在文件夹
file.createNewFile(); // 创建文件
}
zin.closeEntry(); // 关闭当前entry
System.out.println(entry.getName() + "解压成功");
}
zin.close(); // 关闭流
} catch (Exception e) {
e.printStackTrace();
}
}
}

JAVA怎么把zip文件解压到指定位置
import java.util.zip.*;public class Decompressing { \/\/ 创建文件public static void main(String[] temp) {ZipInputStream zin; \/\/ 创建ZipInputStream对象try { \/\/ try语句捕获可能发生的异常zin = new ZipInputStream(new FileInputStream("F:\/hello.zip"));\/\/ 实例化对象,指明要进行解压的文件ZipEntry...

...用java或者批处理命令 实现解压一个rar或zip文件 到选择的目录下 并...
ZipEntry entry = entries.nextElement();String nameInZip = entry.getName().substring(entry.getName().lastIndexOf("\/")+1);InputStream is = zip.getInputStream(entry);java.io.File tempFile = new java.io.File(nameInZip);FileOutputStream fos = new FileOutputStream(new StringBuild...

java中将一个文件夹下所有的文件压缩成一个文件,然后,解压到指定目录...
import java.util.zip.*;public class CompressD { \/\/ 缓冲 static byte[] buffer = new byte[2048];public static void main(String[] args) throws Exception { \/\/ 来源 File inputDir = new File("C:\\\\CompressTest\\\\");\/\/ 目标 FileOutputStream fos = new FileOutputStream("C:\\\\Co...

java 远程解压缩
if(zipEntry.isDirectory()){ continue;} \/\/取得文件名 String xlsName = zipEntry.getName().trim();\/\/取得当前该文件流 File xlsFile = new File("c:\/\/" + xlsName);OutputStream outputS = new FileOutputStream(xlsFile);ZipFile zf = (ZipFile)file;InputStream inputS = zf.getInp...

如何在Java中加密和解密zip文件?
使用addFolder替换addFile方法,即可压缩文件夹。创建分割压缩文件,利用createSplitZipFile或createSplitZipFileFromFolder方法,设置splitLength字节单位。提取所有文件使用extractAll方法从compressed.zip文件中。提取单个文件则通过extractFile方法实现。综上所述,通过Zip4j库,我们掌握了在Java中创建受密码保护的...

java如何解压.gz后缀的压缩包
zipFile = new ZipFile(file); 调用java util下面的zipfile类 Enumeration<?> zipEnum = zipFile.entries(); 将zip文件里面的内容都放在迭代器里面了 ZipEntry entry = (ZipEntry) zipEnum.nextElement();,然后迭代出ZipEntry对象。zipFile.getInputStream(entry)就可以得到所需要的流了,之后做你...

Java实现文件压缩与解压[zip格式,gzip格式]
使用Apache Zip工具包时,可以使用org.apache.tools.zip.ZipOutputStream压缩文件,但解压通常需要使用org.apache.tools.zip.ZipEntry,不建议使用Java.util.zip.ZipInputStream。文件压缩和解压实例通常使用Apache的Zip工具包(ant.jar)实现。由于Java自带的包不支持中文路径,Apache Zip提供了更广泛的选项。

java中怎么用cmd命令解压zip文件
对于zip文件,java有自带类库java.util.zip;可是要想解压rar文件只能靠第三方类库,我试过两个:com.github.junrar和de.innosystec.unrar,前者解压时可能会出现crcError,后者pom配置时报错;利用cmd命令调用winRAR进行解压,无疑方便快捷很多。调用cmd命令 public static boolean exe(String cmd) {Runtime...

怎么使用java解压带密码的7z,rar,tar,zip等压缩文件?
在使用Java解压带密码的文件时,重要的是正确设置解压命令中的密码参数。例如,在使用rar解压rar文件时,需要确保密码参数(如“-p”)正确包含在命令中。同样地,对于7z、tar和zip文件,也要确保解压命令中包含密码信息。具体实现上,可以利用Java的ProcessBuilder类或者Runtime.exec方法来执行外部命令行工具...

如何通过java,不进行解压zip\/rar文件操作,就把压缩文件中的文件名给...
可以不解压,zip包里的一个对象就是一个ZipEntry 找到你想要的那个ZipEntry,用文流写出来就可以了。

相似回答