java怎么读取Zip和RAR里面的文件啊?
1、找到你想要的那个ZipEntry,用文流写出来就可以了。
2、用ZipInputStream.getNextEntry()方法遍历后的值赋给zipentry对象后。可以取得目录及目录下的文件列表 也就是说 a 和a/txt都会读取的。根据情况你可以用isDirectory来判断是不是目录来进行区分的。
3、不好意思搞反了,这样就更简单了。用这个构造方法ZipInputStream(InputStream in);接收传过来的流,然后用这个类的getNextEntry()方法解压缩文件,最后调用read(byte[] b, int off, int len)方法将数据写入byte数组。
JAVA解压缩ZIP包问题:
具体解压缩方法如下:Java压缩解压缩文件的方法有,第一中借助javajdk自带的ZipOutputStream和ZipInputStream。第二种,借助第三方jar,例如ApacheCommonsCompress和Ant。
zipFile = new ZipFile(new File(zipfile));Enumeration enumeration = zipFile.entries();这应该不是主要问题。有没有可能是你的压缩包损坏了。或是包里的那个文件坏了,跟一下断点,看一下是解那个文件出的错。
用这个构造方法ZipInputStream(InputStream in);接收传过来的流,然后用这个类的getNextEntry()方法解压缩文件,最后调用read(byte[] b, int off, int len)方法将数据写入byte数组。
那是java文件的内容,你解压过头了,把jar文件也解压了,那你当然没法看到jar啊,如果你是解压zip文件就解压处class这种文件,建议用文件管理器,改文件的后缀名。如zip的改为jar。这样应该就可以了安装了,不需要再解压了。
java解压zip文件
javazip压缩包过大解压失败的原因:网络传输不好导致文件下载损坏、网站提供的RAR压缩包最初被损坏、使用的下载工具不够完善。我们可以通过压缩软件里的“修复压缩文件”解决javazip压缩包过大解压失败的问题。
javazip解压过大失败究其原因是因为文件名中文所致,而ZIPFile默认使用UTF-8,在遇到解压非UTF-8的时候就会报错。
winRar命令使用,在dos下输入 unrar 就可以看到全部的命令说明。该命令在winRar的安装目录下 winRar命令行命令的路径问题,也就是path。
你先确定你的ZIP有没有问题,再一个,如果你这个文件是刚生成的,确认一下,流有没有关闭。
使用java.util.zip.ZipFile,压缩包内文件数量过多则报错问题.
1、javazip解压过大失败究其原因是因为文件名中文所致,而ZIPFile默认使用UTF-8,在遇到解压非UTF-8的时候就会报错。
2、javazip压缩包过大解压失败的原因:网络传输不好导致文件下载损坏、网站提供的RAR压缩包最初被损坏、使用的下载工具不够完善。我们可以通过压缩软件里的“修复压缩文件”解决javazip压缩包过大解压失败的问题。
3、引入的jar包不对,或者你的压缩文件不标准。一般就会报这个错误。