日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]Atitit java zip compress use apache tool jar ?壓縮的問題static voidzip(java.lang.String?zipFileName,?java

Atitit java zip compress use apache tool jar

?

壓縮的問題

static void

zip(java.lang.String?zipFileName,

?java.lang.String?absolutPath_waittoProcessFileOrDir)?

?

只應該這倆個參數(shù)。。網(wǎng)上的在多重目錄下有bug,花了好長時間修復bug

應該啊abs path的目錄作為一個文件來看待所以,zip root diras ?source dir name

?

package?com.attilax.compress;

?

import?static?org.junit.Assert.*;

?

import?org.junit.Test;

?

public?class?ZipUtilTest?{

?

@Test

public?void?testZip()?{

//ZipUtil.zip("c:\d\placeholderIndex_v7_frm_java.zip", "", "C:\d\placeholderIndex v3 s524");

ZipUtil.zip("c:\d\placeholderIndex_v7_frm_java.zip",??"C:\d\war");

System.out.println("-f");

}

?

}

?

private static void

close_isNos(java.io.OutputStream?os, java.io.InputStream?is, org.apache.tools.zip.ZipFile?zipFile)?

private static void

createZipNode(org.apache.tools.zip.ZipOutputStream?zos, java.lang.String?relativePath)

創(chuàng)建目錄

private static java.lang.String

getnewRelativePathByDirjoin(java.lang.String?relativeRootPath_inzip, java.lang.String?name)?

static void

main(java.lang.String[]?args)?

static java.lang.String

unzip_filelist(java.lang.String?zipFilePath)

解壓縮zip包

static java.util.List

unzip_filelistV2(java.lang.String?zipFilePath)?

static void

unzip_throwRE(java.lang.String?zipFilePath, java.lang.String?targetPath)?

static void

unzip(java.lang.String?zipFilePath, java.lang.String?targetPath)

解壓縮zip包

static void

unzipV2(java.lang.String?zipFilePath, java.lang.String?targetPath)

解壓縮zip包

static void

unzipV3(java.lang.String?zipFilePath, java.lang.String?targetPath, com.google.common.base.Function?runnableImp)

解壓縮zip包

static void

unzipZipoisit(java.lang.String?zipFilePath)?

static void

unzipZipoisit(java.lang.String?zipFilePath, com.google.common.base.Function?runnableImp)

upzip to cur dir

private static void

upzipSingle(org.apache.tools.zip.ZipFile?zipFile, java.lang.String?directoryPath, org.apache.tools.zip.ZipEntry?zipEntry)?

private static void

upzipSingleOutput(org.apache.tools.zip.ZipFile?zipFile, org.apache.tools.zip.ZipEntry?zipEntry, java.io.File?targetFile)?

static void

zip(java.lang.String?zipFileName, java.lang.String?absolutPath_waittoProcessFileOrDir)?

static void

zip(java.lang.String?zipFileName, java.lang.String?relativePath_inzip, java.lang.String?absolutPath_waittoProcessFileOrDir)

壓縮

private static void

zip(org.apache.tools.zip.ZipOutputStream?zos, java.lang.String?relativeRootPath_inzip, java.lang.String?absolutPath_waittoProcessFileOrDir, java.lang.String?Startdir)

壓縮

private static void

zipFile(org.apache.tools.zip.ZipOutputStream?zos, java.io.File?file, java.lang.String?relativePath_inzip, java.lang.String?startdir)

壓縮文件

?

?

?

public?class?ZipUtil?{

protected?static?Logger?logger?=?LoggerFactory.getLogger(ZipUtil.class);

?

public?static?void?zip(String?zipFileName,?String?absolutPath_waittoProcessFileOrDir)?{

File?file?=?new?File(absolutPath_waittoProcessFileOrDir);

String?Startdir?=?file.getParent();

?

ZipOutputStream?zos?=?null;

try?{

zos?=?new?ZipOutputStream(new?FileOutputStream(zipFileName));

}?catch?(FileNotFoundException?e1)?{

ExUtil.throwExV2(e1);

}

try?{

zip(zos,?"",?absolutPath_waittoProcessFileOrDir,?Startdir);

}?catch?(Exception?ex)?{

ExUtil.throwExV2(ex);

}?finally?{

if?(null?!=?zos)?{

try?{

zos.close();

}?catch?(IOException?e)?{

// TODO?Auto-generated catch block

e.printStackTrace();

}

}

}

}

?

/** */

/**

?* 壓縮

?*

?* @param?zipFileName

?* ???????????壓縮產(chǎn)生的zip包文件名--帶路徑,如果為null或空則默認按文件名生產(chǎn)壓縮文件名

?* @param?relativePath_inzip

?* ???????????相對路徑,默認為空

?* @param?absolutPath_waittoProcessFileOrDir

?* ???????????文件或目錄的絕對路徑

?* @throws?FileNotFoundException

?* @throws?IOException

?* @author?yayagepei

?* @date?2008-8-26

?*/

public?static?void?zip(String?zipFileName,?String?relativePath_inzip,?String?absolutPath_waittoProcessFileOrDir)?{

File?file?=?new?File(absolutPath_waittoProcessFileOrDir);

String?Startdir?=?file.getParent();

?

ZipOutputStream?zos?=?null;

try?{

zos?=?new?ZipOutputStream(new?FileOutputStream(zipFileName));

}?catch?(FileNotFoundException?e1)?{

ExUtil.throwExV2(e1);

}

try?{

zip(zos,?relativePath_inzip,?absolutPath_waittoProcessFileOrDir,?Startdir);

}?catch?(Exception?ex)?{

ExUtil.throwExV2(ex);

}?finally?{

if?(null?!=?zos)?{

try?{

zos.close();

}?catch?(IOException?e)?{

// TODO?Auto-generated catch block

e.printStackTrace();

}

}

}

}

?

/** */

/**

?* 壓縮

?*

?* @param?zos

?* ???????????壓縮輸出流

?* @param?relativeRootPath_inzip

?* ???????????相對路徑

?* @param?absolutPath_waittoProcessFileOrDir

?* ???????????文件或文件夾絕對路徑

?* @throws?IOException

?* @author?yayagepei

?* @date?2008-8-26

?*/

// private static void zip(ZipOutputStream zos, String

// relativeRootPath_inzip, String absolutPath_waittoProcessFileOrDir) {

// File file = new File(absolutPath_waittoProcessFileOrDir);

// String Startdir=file.getParent();

// zip(zos, relativeRootPath_inzip,absolutPath_waittoProcessFileOrDir,

// Startdir);

//

// }

?

private?static?void?zip(ZipOutputStream?zos,?String?relativeRootPath_inzip,

String?absolutPath_waittoProcessFileOrDir,?String?Startdir)?{

File?file?=?new?File(absolutPath_waittoProcessFileOrDir);

?

if?(file.isDirectory())?{?// lev1

// createZipNode(zos, file.getName()+"");

File[]?files?=?file.listFiles();

// relativeRootPath_inzip= getnewRelativePathByDirjoin(

// relativeRootPath_inzip , file.getName());

for?(int?i?=?0;?i?<?files.length;?i++)?{

File?tempFile?=?files[i];

if?(tempFile.isDirectory())?{?// lev2

?

zip(zos,?relativeRootPath_inzip,?tempFile.getPath(),?Startdir);

}?else?{?// file mode

?

zipFile(zos,?tempFile,?relativeRootPath_inzip,?Startdir);

}

}

}?else?{

zipFile(zos,?file,?relativeRootPath_inzip,?Startdir);

}

}

?

private?static?String?getnewRelativePathByDirjoin(String?relativeRootPath_inzip,?String?name)?{

if?(relativeRootPath_inzip?==?null)

return?name;

if?(relativeRootPath_inzip.trim().length()?==?0)

return?name;

else

return?relativeRootPath_inzip?+?File.separator?+?name;

}

?

/** */

/**

?* 壓縮文件

?*

?* @param?zos

?* ???????????壓縮輸出流

?* @param?file

?* ???????????文件對象

?* @param?relativePath_inzip

?* ???????????相對路徑

?* @throws?IOException

?* @author?yayagepei

?* @param?startdir

?* @date?2008-8-26

?*/

private?static?void?zipFile(ZipOutputStream?zos,?File?file,?String?relativePath_inzip,?String?startdir)?{

?

logger.info(file.getAbsolutePath());

String?rltpath?=?file.getAbsolutePath().substring(startdir.length()?+?1);

String?ZipEntrynamej?=?getnewRelativePathByDirjoin(relativePath_inzip,?rltpath);

?

ZipEntry?entry?=?new?ZipEntry(ZipEntrynamej);

try?{

zos.putNextEntry(entry);

}?catch?(IOException?e)?{

ExUtil.throwExV2(e);

}

InputStream?is?=?null;

try?{

is?=?new?FileInputStream(file);

int?BUFFERSIZE?=?2?<<?10;

int?length?=?0;

byte[]?buffer?=?new?byte[BUFFERSIZE];

while?((length?=?is.read(buffer,?0,?BUFFERSIZE))?>=?0)?{

zos.write(buffer,?0,?length);

}

zos.flush();

zos.closeEntry();

}?catch?(IOException?ex)?{

ExUtil.throwExV2(ex);

}?finally?{

if?(null?!=?is)?{

try?{

is.close();

}?catch?(IOException?e)?{

// TODO?Auto-generated catch block

e.printStackTrace();

}

}

}

}

?

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉