欢迎来到天天文库
浏览记录
ID:50826949
大小:36.95 KB
页数:2页
时间:2020-03-15
《JAVA处理ZIP压缩文件的操作.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、JAVA处理ZIP压缩文件的操作JAVA在处理压缩文件时如果压缩文件或者压缩文件中的文件名为中文,会导致程序在处理时出错或者解压出来的文件为0KB,无法打开,需要做相应的设置,具体的做法为修改JDK源码,将需要引用到的相关文件作修改,然后再用到某个类的时候调用自己修改过的,而不使用JDK自带的类,即可解决中文的问题publicclassZipToFile{staticfinalintBUFFER=2048;publicvoidReadZip(Stringzipfilepath,Stringunzippath){try{BufferedOutputSt
2、reambos=null;//根据文件路径创建输入字节流FileInputStreamfis=newFileInputStream(zipfilepath);//根据输入字节流创建输入字符流BufferedInputStreambis=newBufferedInputStream(fis);//根据字符流,创建ZIP文件输入流ZipInputStreamzis=newZipInputStream(bis);//zip文件条目,表示zip文件ZipEntryentry;//循环读取文件条目,只要不为空,就进行处理while((entry=zis.get
3、NextEntry())!=null){intcount;bytedate[]=newbyte[BUFFER];//如果条目是文件目录,则继续执行if(entry.isDirectory()){continue;}else{intbegin=zipfilepath.lastIndexOf("\")+1;intend=zipfilepath.lastIndexOf(".")+1;StringzipRealName=zipfilepath.substring(begin,end);System.out.println("AAAAAAAAAAAAAAAA
4、AA"+zipRealName);bos=newBufferedOutputStream(newFileOutputStream(this.getRealFileName(unzippath+"\"+zipRealName,entry.getName())));while((count=zis.read(date))!=-1){bos.write(date,0,count);}bos.flush();bos.close();}}zis.close();}catch(Exceptione){e.printStackTrace();}}privateF
5、ilegetRealFileName(Stringzippath,StringabsFileName){String[]dirs=absFileName.split("/",absFileName.length());//创建文件对象Filefile=newFile(zippath);if(dirs.length>1){for(inti=0;i6、ists()){file.mkdirs();}file=newFile(file,dirs[dirs.length-1]);returnfile;}
6、ists()){file.mkdirs();}file=newFile(file,dirs[dirs.length-1]);returnfile;}
此文档下载收益归作者所有