java 打压缩包_Java 将文件夹打成压缩包 zip

packageutils;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.zip.ZipEntry;importjava.util.zip.ZipOutputStream;/*** 文件夹打压缩包

*@authorZYGisComputer*/

public final classFileTOZip {/*** 将存放在sourceFilePath目录下的源文件,打包成fileName名称的ZIP文件,并存放到zipFilePath。

*@paramsourceFilePath 待压缩的文件路径

*@paramzipFilePath 压缩后存放路径

*@paramfileName 压缩后文件的名称

*@returnflag*/

public static booleanfileToZip(String sourceFilePath, String zipFilePath,

String fileName) {boolean flag = false;

File sourceFile= newFile(sourceFilePath);

FileInputStream fis= null;

BufferedInputStream bis= null;

FileOutputStream fos= null;

ZipOutputStream zos= null;if (!sourceFile.exists()) {

System.out.println(">>>>>> 待压缩的文件目录:" + sourceFilePath + " 不存在. <<<<<

}else{try{

File zipFile= new File(zipFilePath + "/" + fileName + ".zip");if(zipFile.exists()) {

System.out.println(">>>>>> " + zipFilePath + " 目录下存在名字为:"

+ fileName + ".zip" + " 打包文件. <<<<<

}else{

File[] sourceFiles=sourceFile.listFiles();if (null == sourceFiles || sourceFiles.length < 1) {

System.out.println(">>>>>> 待压缩的文件目录:" +sourceFilePath+ " 里面不存在文件,无需压缩. <<<<<

}else{

fos= newFileOutputStream(zipFile);

zos= new ZipOutputStream(newBufferedOutputStream(fos));byte[] bufs = new byte[1024 * 10];for (int i = 0; i < sourceFiles.length; i++) {//创建ZIP实体,并添加进压缩包

ZipEntry zipEntry = newZipEntry(sourceFiles[i].getName());

zos.putNextEntry(zipEntry);//读取待压缩的文件并写进压缩包里

fis = newFileInputStream(sourceFiles[i]);

bis= new BufferedInputStream(fis, 1024 * 10);int read = 0;while ((read = bis.read(bufs, 0, 1024 * 10)) != -1) {

zos.write(bufs,0, read);

}

}

flag= true;

}

}

}catch(FileNotFoundException e) {

e.printStackTrace();throw newRuntimeException(e);

}catch(IOException e) {

e.printStackTrace();throw newRuntimeException(e);

}finally{//关闭流

try{if (null !=bis) {

bis.close();

}if (null !=zos) {

zos.close();

}

}catch(IOException e) {

e.printStackTrace();throw newRuntimeException(e);

}

}

}returnflag;

}/*** 将文件打包成ZIP压缩文件,main方法测试

*@paramargs*/

public static voidmain(String[] args) {

String sourceFilePath= "F:\\newPlatfrom\\交响乐团\\pdf";

String zipFilePath= "F:\\newPlatfrom\\交响乐团\\";

String fileName= "pdf";boolean flag =FileTOZip.fileToZip(sourceFilePath, zipFilePath,

fileName);if(flag) {

System.out.println(">>>>>> 文件打包成功. <<<<<

}else{

System.out.println(">>>>>> 文件打包失败. <<<<<

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值