「javazip解压」java中解压zip文件到指定目录
今天给各位分享javazip解压的知识,其中也会对java中解压zip文件到指定目录进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、javazip压缩包过大解压失败
- 2、如何在java中实现对zip和rar文件的解压
- 3、java 以流的形式解压带密码的zip
- 4、java解压zip文件
- 5、javazip解压过大失败
- 6、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文件到指定目录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。