91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

可以解決包含中文文件夾的zip包解壓的問題 /** * 解壓縮zipFile * @param file 要解壓的zip文件對象 * @param outputDir 要解壓到某個指定的目錄下 * @throws IOException */ public void unzip(String zipFileName, String outputDir) throws IOException { try { BufferedOutputStream bos = null; // 創建輸入字節流 FileInputStream fis = new FileInputStream(zipFileName); // 根據輸入字節流創建輸入字符流 BufferedInputStream bis = new BufferedInputStream(fis); // 根據字符流,創建ZIP文件輸入流 ZipInputStream zis = new ZipInputStream(bis); // zip文件條目,表示zip文件 ZipEntry entry; // 循環讀取文件條目,只要不為空,就進行處理 while ((entry = zis.getNextEntry()) != null) { int count; byte date[] = new byte[2048]; // 如果條目是文件目錄,則繼續執行 if (entry.isDirectory()) { continue; } else { int begin = zipFileName.lastIndexOf("\\") + 1; int end = zipFileName.lastIndexOf(".") + 1; String zipRealName = zipFileName.substring(begin, end); bos = new BufferedOutputStream(new FileOutputStream(this .getRealFileName(outputDir + "\\" + zipRealName, entry.getName()))); while ((count = zis.read(date)) != -1) { bos.write(date, 0, count); } bos.flush(); bos.close(); } } zis.close(); } catch (Exception e) { e.printStackTrace(); } } private File getRealFileName(String zippath, String absFileName) { String[] dirs = absFileName.split("/", absFileName.length()); // 創建文件對象 File file = new File(zippath); if (dirs.length > 1) { for (int i = 0; i < dirs.length - 1; i++) { // 根據file抽象路徑和dir路徑字符串創建一個新的file對象,路徑為文件的上一個目錄 file = new File(file, dirs[i]); } } if (!file.exists()) { file.mkdirs(); } file = new File(file, dirs[dirs.length - 1]); return file; }

資源截圖

代碼片段和文件信息

package?com.originsys.eap.tools;

import?java.io.BufferedInputStream;
import?java.io.BufferedOutputStream;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;

public?class?CompresszZipFile?{

static?final?int?BUFFER?=?2048;
/**
?*?讀取ZIP文件,只適合于ZIP文件對于RAR文件無效,因為ZIP文件的壓縮算法是公開的,而RAR不是
?*?@author?彭建明
?*?@version?1.0
?*?@param?zipfilepath:ZIP文件的路徑,unzippath:要解壓到的文件路徑
?*/
public?void?ReadZip(String?zipfilepathString?unzippath){

try?{
BufferedOutputStream?bos?=?null;
//創建輸入字節流
FileInputStream?fis?=?new?FileInputStream(zipfilepath);
//根據輸入字節流創建輸入字符流
BufferedInputStream?bis?=?new?BufferedInputStream(fis);
//根據字符流,創建ZIP文件輸入流
ZipInputStream?zis?=?new?ZipInputStream(bis);
//zip文件條目,表示zip文件
ZipEntry?entry;
//循環讀取文件條目,只要不為空,就進行處理
while((entry=zis.getNextEntry())!=null){
System.out.println(“====“+entry.getName());
int?count?;
byte?date[]?=?new?byte[BUFFER];
//如果條目是文件目錄,則繼續執行
if(entry.isDirectory()){
continue;
}else{
int?begin?=?zipfilepath.lastIndexOf(“\\“)+1;
int?end?=?zipfilepath.lastIndexOf(“.“)+1;
String?zipRealName?=?zipfilepath.substring(beginend);
bos?=?new?BufferedOutputStream(new?FileOutputStream(this.getRealFileName(unzippath+“\\“+zipRealNameentry.getName())));
while((count=zis.read(date))!=-1){
bos.write(date0count);
}
bos.flush();bos.close();
}
}
zis.close();
}?catch?(Exception?e)?{
e.printStackTrace();
}
}

private?File?getRealFileName(String?zippathString?absFileName){
String[]?dirs?=?absFileName.split(“/“absFileName.length());
//創建文件對象?
File?file?=?new?File(zippath);
if(dirs.length>1){
for(int?i=0;i //根據file抽象路徑和dir路徑字符串創建一個新的file對象,路徑為文件的上一個目錄
file?=?new?File(filedirs[i]);
}
}
if(!file.exists()){
file.mkdirs();
}
file?=?new?File(filedirs[dirs.length-1]);
return?file;
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2351??2010-04-21?11:15??tools\CompresszZipFile.java

?????文件??????12850??2010-04-21?09:10??tools\Deflater.java

?????文件???????4702??2010-04-21?09:10??tools\DeflaterOutputStream.java

?????文件???????8084??2010-04-21?10:02??tools\InflaterInputStream.java

?????文件???????3156??2010-04-21?08:58??tools\ZipConstants.java

?????文件???????9349??2010-04-21?10:07??tools\ZipEntry.java

?????文件??????12115??2010-04-21?10:02??tools\ZipInputStream.java

?????文件??????15718??2010-04-21?09:09??tools\ZipOutputStream.java

?????目錄??????????0??2010-04-22?13:07??tools

-----------?---------??----------?-----??----

????????????????68325????????????????????9


評論

共有 條評論