如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx

上传人:b****1 文档编号:1625917 上传时间:2022-10-23 格式:DOCX 页数:9 大小:600.04KB
下载 相关 举报
如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx_第1页
第1页 / 共9页
如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx_第2页
第2页 / 共9页
如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx_第3页
第3页 / 共9页
如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx_第4页
第4页 / 共9页
如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx

《如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx》由会员分享,可在线阅读,更多相关《如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx(9页珍藏版)》请在冰豆网上搜索。

如何使用Apache CommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例.docx

如何使用ApacheCommonsCompress系统库实现将文件压缩为zip格式的压缩文件的应用示例

1.1如何使用ApacheCommons-Compress系统库实现将文件压缩为zip格式的压缩文件的应用示例

1.1.1新建一个J2SE的Java应用程序项目

1、新建一个J2SE的Java应用程序项目

2、设置项目名称为JavaCompress

3、创建出名称为JavaCompress的Java应用程序项目

1.1.2在所创建出的JavaCompress项目中添加一个Java应用程序类

1、新建一个Java应用程序类

2、设置类名称为ApacheCommonCompressFileUtil,程序包名称为com.bluedream.javacompress

(1)创建ApacheCommonCompressFileUtil程序类

(2)ApacheCommonCompressFileUtil程序类的初始代码

1.1.3编程ApacheCommonCompressFileUtil程序类和准备测试用的待压缩的原始文件

1、ApacheCommonCompressFileUtil程序类的代码示例

(1)项目局部截图

(2)ApacheCommonCompressUtil程序类的代码示例

packagecom.bluedream.javacompress;

importjava.io.BufferedInputStream;

importjava.io.BufferedOutputStream;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.OutputStream;

importpress.archivers.zip.ZipArchiveEntry;

importpress.archivers.zip.ZipArchiveOutputStream;

importpress.utils.IOUtils;

publicclassApacheCommonCompressFileUtil{

/**

*设定文件读写的缓冲区的默认容量为1024(1KB)字节

*/

publicstaticfinalintBUFFER_SIZE=1024;

publicApacheCommonCompressFileUtil(){

super();

}

/**

*对某个单一文件实现压缩为*.zip格式的压缩文件的功能方法

*@paramcompressedSourceFileName待压缩的原始文件路径和文件名称字符串

*@paramsavedTargetZipFileName压缩后输出的目标*.zip文件的目录路径和文件名称字符串

*/

publicvoiddoCompressSomeOneFileToZipFile(StringcompressedSourceFileName,StringsavedTargetZipFileName){

ZipArchiveOutputStreamsomeOneZipArchiveOutputStream=null;

InputStreamsomeOneBufferedInputStream=null;

OutputStreamsomeOneBufferedOutputStream=null;

FilecompressedSourceFile=null;

FilesavedTargetZipFile=null;

ZipArchiveEntrysomeOneZipArchiveEntry=null;

/**

*将调用中所给定的待压缩的原始文件路径和文件名称字符串、压缩输出的目标*.zip文件的目录和文件名称字符串转换为JavaIO中的File文件对象

*/

compressedSourceFile=newFile(compressedSourceFileName);

savedTargetZipFile=newFile(savedTargetZipFileName);

try{

/**

*将待压缩的原始文件的二进制输入流转换为缓存输入流对象,将压缩输出的目标*.zip文件的二进制输除流转换为缓存输出流对象

*/

someOneBufferedInputStream=newBufferedInputStream(newFileInputStream(compressedSourceFile),BUFFER_SIZE);

someOneBufferedOutputStream=newBufferedOutputStream(newFileOutputStream(savedTargetZipFile),BUFFER_SIZE);

/**

*将缓存输出流对象转换为ZipArchiveOutputStream流对象

*/

someOneZipArchiveOutputStream=newZipArchiveOutputStream(someOneBufferedOutputStream);

/**

*根据压缩的原始文件名称构建出对应的目标压缩*.zip文件的ZipArchiveEntry对象

*/

someOneZipArchiveEntry=newZipArchiveEntry(compressedSourceFile.getName());

someOneZipArchiveEntry.setSize(compressedSourceFile.length());

someOneZipArchiveOutputStream.putArchiveEntry(someOneZipArchiveEntry);

/**

*对原始的待压缩文件进行压缩处理,并创建出压缩后的目标文件

*/

IOUtils.copy(someOneBufferedInputStream,someOneZipArchiveOutputStream);

someOneZipArchiveOutputStream.closeArchiveEntry();

}

catch(FileNotFoundExceptionexception){

exception.printStackTrace();

}

catch(IOExceptionexception){

exception.printStackTrace();

}

finally{

/**

*关闭文件输入和输出流

*/

if(null!

=someOneBufferedInputStream){

IOUtils.closeQuietly(someOneBufferedInputStream);

}

if(null!

=someOneBufferedOutputStream){

IOUtils.closeQuietly(someOneBufferedOutputStream);

}

if(null!

=someOneZipArchiveOutputStream){

IOUtils.closeQuietly(someOneZipArchiveOutputStream);

}

}

}

publicstaticvoidmain(String[]args)throwsException{

StringcompressedSourceFileName="E:

/Tencent/待压缩的测试文件.doc";

StringsavedTargetZipFileName="E:

/Tencent/待压缩的测试文件.zip";

ApacheCommonCompressFileUtiloneApacheCommonCompressUtil=newApacheCommonCompressFileUtil();

oneApacheCommonCompressUtil.doCompressSomeOneFileToZipFile(compressedSourceFileName,savedTargetZipFileName);

}

}

2、准备测试用的待压缩的原始文件

本示例所需要的待压缩的原始文件为:

E:

/Tencent/待压缩的测试文件.doc,该文件为中文文件名称的文件,主要测试是否支持中文文件名称的压缩功能。

而压缩后的输出目标*.zip文件为E:

/Tencent/待压缩的测试文件.zip,如下示图为程序代码中的输入和输出文件名称的定义。

1.1.4执行ApacheCommonCompressFileUtil程序类

1、执行ApacheCommonCompressFileUtil程序类

2、ApacheCommonCompressFileUtil程序类执行的结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1