
正文
java代码解压zip包,java 解压压缩包
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于Java的解压缩的代码?
用这个构造方法ZipInputStream(InputStream in);接收传过来的流,然后用这个类的getNextEntry()方法解压缩文件,最后调用read(byte[] b, int off, int len)方法将数据写入byte数组。
而winRAR软件压缩是用的windows默认的GBK或者GB2312编码 所以解压缩时要制定编码格式 / e.setEncoding(gbk);e.execute();}catch(Exception e){ throw e;} } / 解压rar格式压缩包。
read(by)) != -1) { outputS.write(by, 0, c);} outputS.flush();outputS.close();} 以上是我的代码 不过在ZipFile zf = (ZipFile)file;处出现了强制转型异常,请高手帮忙看看该如何解决这个问题。
你好,由于内容比较多,先概述一下先。如图所示,为我写的一个压缩软件,原理是利用哈弗曼算法实现的。我将资料整理好稍后就发到你邮箱,但在这里简要说明一下代码。
相关问答
Q1: 如何解决java程序解压含有中文名的zip压缩包出现乱码
你可以使用apache ant的zip类(package: org.apache.tools.zip)来解决这个问题。
没做过压缩程序,JAVA里面的字符串使用的编码为unicode,ZIP文件里面用的应该是本地编码(中文操作系统用的是GB2312)。你可以尝试着用类似这样的语句:String str = ( otherStr.getBytes(GB2312) );祝好运。
一般是软件程序解码错误。如浏览器把GBK码当成是Big5码显示,或电子邮件程序把对方传来的邮件错误解码。如果在发送时编码错误,收件者的电邮程序是不能解码的,需要寄件者的电邮程序重新编码再寄。
读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。
用代码混淆器,混淆后一般都是一些西文字符,这些字符在GBK和UTF8中映射键应该是一样的。但是上网搜索老半天就是找不到好用的针对源代码的工具。转化源代码编码。这个我试过了,但是文件名在打包后仍变成乱码。
Q2: java解压zip文件
1、javazip压缩包过大解压失败的原因:网络传输不好导致文件下载损坏、网站提供的RAR压缩包最初被损坏、使用的下载工具不够完善。我们可以通过压缩软件里的“修复压缩文件”解决javazip压缩包过大解压失败的问题。
2、javazip解压过大失败究其原因是因为文件名中文所致,而ZIPFile默认使用UTF-8,在遇到解压非UTF-8的时候就会报错。
3、winRar命令使用,在dos下输入 unrar 就可以看到全部的命令说明。该命令在winRar的安装目录下 winRar命令行命令的路径问题,也就是path。
4、你先确定你的ZIP有没有问题,再一个,如果你这个文件是刚生成的,确认一下,流有没有关闭。
5、不好意思搞反了,这样就更简单了。用这个构造方法ZipInputStream(InputStream in);接收传过来的流,然后用这个类的getNextEntry()方法解压缩文件,最后调用read(byte[] b, int off, int len)方法将数据写入byte数组。
Q3: Java压缩与解压缩问题
1、Java中读取压缩文件如果不解压直接读取会占用内存。因为压缩文件是经过压缩算法处理后的文件,文件本身没有被解压,因此在读取时需要实时解压缩。
2、具体解压缩方法如下:Java压缩解压缩文件的方法有,第一中借助javajdk自带的ZipOutputStream和ZipInputStream。第二种,借助第三方jar,例如ApacheCommonsCompress和Ant。
3、步骤一:双击打开需要解压修复的压缩包,选择:工具——修复压缩文件。步骤二:出现下边图片的修复框,等待修复完成,关闭窗口及解压缩窗口就可以了。
4、大家可以选择利用JavaScala或者Haskell进行问题解决,并最终找到最精致的解决办法。 如果大家喜爱解题,其中还提供多种不同层级的难度供各位选择。另外,如果大家将全部99道难题解决掉,则可进一步冲击JavaDeathmatch。
Q4: java如何解压页面上传到服务器的zip文件
用这个构造方法ZipInputStream(InputStream in);接收传过来的流,然后用这个类的getNextEntry()方法解压缩文件,最后调用read(byte[] b, int off, int len)方法将数据写入byte数组。
zipInputStream.getNextEntry();while ((b = zipInputStream.read()) != -1) { System.out.println(b);} 你可以考虑下数据库里只保存物理文件的地址吗。很少见到有人直接把文件内容转成2进制码存在数据库里的呢。
上传有控件直接就可以用,解压要在程序里做 然后将txt和xml放在服务器目录下,至于文件的判断你判断后缀名就行了。
我试了一下,没有问题 先问一下,你用的JDK是什么版 本。我是6_20,直接用你的程序。zipFile = new ZipFile(new File(zipfile),GBK);Enumeration enumeration = zipFile.getEntries();是报错的。
java代码解压zip包的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 解压压缩包、java代码解压zip包的信息别忘了在本站进行查找喔。







