久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Java壓縮文件生成工具類 – 碼農(nóng)網(wǎng)

 spzproot 2016-02-22

在工作過程中,需要將一個文件夾生成壓縮文件,,然后提供給用戶下載,。所以自己寫了一個壓縮文件的工具類。該工具類支持單個文件和文件夾壓縮,。放代碼:

import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipOutputStream;/**  * @project: Test  * @author chenssy * @date 2013-7-28  * @Description: 文件壓縮工具類 * 				  將指定文件/文件夾壓縮成zip,、rar壓縮文件 */public class CompressedFileUtil {	/**	 * 默認(rèn)構(gòu)造函數(shù)	 */	public CompressedFileUtil(){	}	/**	 * @desc 將源文件/文件夾生成指定格式的壓縮文件,格式zip	 * @param resourePath 源文件/文件夾	 * @param targetPath  目的壓縮文件保存路徑	 * @return void	 * @throws Exception 	 */	public void compressedFile(String resourcesPath,String targetPath) throws Exception{		File resourcesFile = new File(resourcesPath);     //源文件		File targetFile = new File(targetPath);           //目的		//如果目的路徑不存在,則新建		if(!targetFile.exists()){     			targetFile.mkdirs();  		}		String targetName = resourcesFile.getName()+'.zip';   //目的壓縮文件名		FileOutputStream outputStream = new FileOutputStream(targetPath+'//'+targetName);		ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(outputStream));		createCompressedFile(out, resourcesFile, '');		out.close();  	}	/**	 * @desc 生成壓縮文件,。	 * 	             如果是文件夾,,則使用遞歸,進(jìn)行文件遍歷,、壓縮	 *       如果是文件,,直接壓縮	 * @param out  輸出流	 * @param file  目標(biāo)文件	 * @return void	 * @throws Exception 	 */	public void createCompressedFile(ZipOutputStream out,File file,String dir) throws Exception{		//如果當(dāng)前的是文件夾,,則進(jìn)行進(jìn)一步處理		if(file.isDirectory()){			//得到文件列表信息			File[] files = file.listFiles();			//將文件夾添加到下一級打包目錄			out.putNextEntry(new ZipEntry(dir+'/'));			dir = dir.length() == 0 ? '' : dir +'/';			//循環(huán)將文件夾中的文件打包			for(int i = 0 ; i < files.length="" ;="" i++){="" createcompressedfile(out,="" files[i],="" dir="" +="" files[i].getname());="" 遞歸處理="" }="" }="" else{="" 當(dāng)前的是文件,打包處理="" 文件輸入流="" fileinputstream="" fis="new" fileinputstream(file);="" out.putnextentry(new="" zipentry(dir));="" 進(jìn)行寫操作="" int="" j="0;" byte[]="" buffer="new" byte[1024];="" while((j="fis.read(buffer))"> 0){				out.write(buffer,0,j);			}			//關(guān)閉輸入流			fis.close();		}	}	public static void main(String[] args){		CompressedFileUtil compressedFileUtil = new CompressedFileUtil();		try {			compressedFileUtil.compressedFile('G://zip', 'F://zip');			System.out.println('壓縮文件已經(jīng)生成...');		} catch (Exception e) {			System.out.println('壓縮文件生成失敗...');			e.printStackTrace();		}	}}

運行程序結(jié)果如下:

壓縮之前的文件目錄結(jié)構(gòu):

java生成壓縮文件

java生成壓縮文件

提示:如果是使用java.util下的java.util.zip進(jìn)行打包處理,,可能會出現(xiàn)中文亂碼問題,,這是因為java的zip方法不支持編碼格式的更改,我們可以使用ant.java下的zip工具類來進(jìn)行打包處理,。所以需要將ant.jar導(dǎo)入項目的lib目錄下,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多