「javazip解压」java中解压zip文件到指定目录

博主:adminadmin 2023-03-19 15:24:12 368

今天给各位分享javazip解压的知识,其中也会对java中解压zip文件到指定目录进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

javazip压缩包过大解压失败

javazip压缩包过大解压失败的原因:网络传输不好导致文件下载损坏、网站提供的RAR压缩包最初被损坏、使用的下载工具不够完善。我们可以通过压缩软件里的“修复压缩文件”解决javazip压缩包过大解压失败的问题。

如何在java中实现对zip和rar文件的解压

java中有zip包,可以使用

public void getZipFiles(String zipFile, String destFolder) throws IOException {

    BufferedOutputStream dest = null;

    ZipInputStream zis = new ZipInputStream(

                                       new BufferedInputStream(

                                             new FileInputStream(zipFile)));

    ZipEntry entry;

    while (( entry = zis.getNextEntry() ) != null) {

        System.out.println( "Extracting: " + entry.getName() );

        int count;

        byte data[] = new byte[BUFFER];

        if (entry.isDirectory()) {

            new File( destFolder + "/" + entry.getName() ).mkdirs();

            continue;

        } else {

            int di = entry.getName().lastIndexOf( '/' );

            if (di != -1) {

                new File( destFolder + "/" + entry.getName()

                                             .substring( 0, di ) ).mkdirs();

            }

        }

        FileOutputStream fos = new FileOutputStream( destFolder + "/"

                                                     + entry.getName() );

        dest = new BufferedOutputStream( fos );

        while (( count = zis.read( data ) ) != -1) 

            dest.write( data, 0, count );

        dest.flush();

        dest.close();

    }

}

rar的只能用第三方api,比如junrar

java 以流的形式解压带密码的zip

可以使用 Runtime 直接调用 winRar 的命令行命令来解压缩

注意:

1、winRar命令使用,在dos下输入 unrar 就可以看到全部的命令说明。该命令在winRar的安装目录下

2、winRar命令行命令的路径问题,也就是path。要么加入系统变量path中,要么在winRar的安装目录下执行程序

以下是程序代码,解压 test.rar 到当前目录下,密码123

import java.io.BufferedInputStream;

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class TestRunTime {

public static void main(String[] args) {

Runtime run = Runtime.getRuntime();

try {

Process p = run.exec("unrar e test.rar -p123");//执行解压缩命令

BufferedInputStream in = new BufferedInputStream(p.getInputStream());

BufferedReader inBr = new BufferedReader(new InputStreamReader(in));

String lineStr;

while ((lineStr = inBr.readLine()) != null)

System.out.println(lineStr);

// 检查命令是否执行失败。

if (p.waitFor() != 0) {

if (p.exitValue() == 1)// p.exitValue()==0表示正常结束,1:非正常结束

System.err.println("命令执行失败!");

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

java解压zip文件

import java.io.IOException;

import java.util.Enumeration;

import java.util.zip.ZipEntry;

/**

* 获得zip文件里的所有文件

* @author Administrator

*

*/

public class ZipFile {

public ZipFile() throws IOException

{

java.util.zip.ZipFile zf = new java.util.zip.ZipFile("E:/Java/Project.zip");

Enumeration e = zf.entries();

while(e.hasMoreElements())

{

ZipEntry ze = (ZipEntry) e.nextElement();

if(!ze.isDirectory())

System.out.println(new String(ze.getName().getBytes("ISO-8859-1"), "GB2312"));

}

}

public static void main(String[] args) {

try {

new ZipFile();

} catch (IOException e) {

e.printStackTrace();

}

}

}

javazip解压过大失败

javazip解压过大失败究其原因是因为文件名中文所致,而ZIPFile默认使用UTF-8,在遇到解压非UTF-8的时候就会报错。

JAVA解压缩ZIP包问题:

我试了一下,没有问题

先问一下,你用的JDK是什么版 本。我是1.6_20,直接用你的程序。

zipFile = new ZipFile(new File(zipfile),"GBK");

Enumeration enumeration = zipFile.getEntries();

是报错的。

我改成了

zipFile = new ZipFile(new File(zipfile));

Enumeration enumeration = zipFile.entries();

这应该不是主要问题。

有没有可能是你的压缩包损坏了。或是包里的那个文件坏了,跟一下断点,看一下是解那个文件出的错。

关于javazip解压和java中解压zip文件到指定目录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。