1. Main Function
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Collection; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import org.apache.log4j.Logger; public class FileCompressUtil { private static final Logger logger = Logger .getLogger(FileCompressUtil.class); private static final int BUFFER_SIZE = 2048; private FileCompressUtil() { } public static void compressFile(final Collection<String> fileNameList, final String zippedFileNameWithPath) throws IOException { logger.debug(String.format( "Start compressFile with fileList: [%s], target file: [%s]", fileNameList, zippedFileNameWithPath)); ZipOutputStream zos = new ZipOutputStream(new FileOutputStream( zippedFileNameWithPath)); byte[] buffer = new byte[BUFFER_SIZE]; for (String filePath : fileNameList) { ZipEntry e = new ZipEntry(filePath); zos.putNextEntry(e); logger.debug(String.format("Start compressFile with file: [%s]", filePath)); FileInputStream in = new FileInputStream(filePath); int len; while ((len = in.read(buffer)) > 0) { zos.write(buffer, 0, len); } in.close(); zos.closeEntry(); logger.debug(String.format("Finished compressFile with file: [%s]", filePath)); } zos.close(); logger.debug(String.format( "Finished compressFile with fileList: [%s], target file: [%s]", fileNameList, zippedFileNameWithPath)); } public static void compressAndDeleteOrigFile(final Collection<String> fileNameList, final String zippedFileNameWithPath) throws IOException { compressFile(fileNameList, zippedFileNameWithPath); for (String filePath : fileNameList) { File file = new File(filePath); file.delete(); } } }
Test case:
import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import org.junit.After; import org.junit.Before; import org.junit.Test; public class FileCompressUtilTest { private Collection<String> fileNameList; private String zipFileName; @Before public void setUp() { fileNameList = new ArrayList<String>(); String filePath1 = "src/test/resources/aaa.xlsx"; String filePath2 = "src/test/resources/bbb.xlsx"; String filePath3 = "src/test/resources/ccc.xlsx"; fileNameList.add(filePath1); fileNameList.add(filePath2); fileNameList.add(filePath3); zipFileName = "src/test/resources/test_compress.zip"; } @Test public void testCompressFile() throws IOException { FileCompressUtil.compressFile(fileNameList, zipFileName); } @After public void tearDown() { new File(zipFileName).delete(); } }
相关推荐
标签:apache、compress、commons、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
在本案例中,我们关注的是"CompressFile.zip",这是一个利用zlib 1.2.11版本的压缩库封装后的文件,可以用于对文件或文件夹进行压缩。 **Zlib库介绍:** Zlib是由Jean-loup Gailly和Mark Adler开发的一个自由且跨...
标签:apache、commons、compress、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
标签:apache、commons、compress、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
标签:apache、commons、compress、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
org.apache.poi:poi:4.1.2 org.apache.poi:poi-ooxml:4.1.2 org.apache.poi:poi-ooxml-schemas:4.1.2 org.apache.xmlbeans:xmlbeans:3.1.0 ...commons-codec:commons-codec:...org.apache.commons:commons-compress:1.19
标签:apache、compress、commons、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
以创建一个ZIP文件为例,你可以使用`org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream`类: ```java import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache....
标签:apache、commons、compress、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
包含翻译后的API文档:commons-compress-1.18-javadoc-API文档-中文(简体)版.zip 对应Maven信息:groupId:org.apache.commons,artifactId:commons-compress,version:1.18 使用方法:解压翻译后的API文档,用...
标签:apache、commons、compress、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
包含翻译后的API文档:commons-compress-1.18-javadoc-API文档-中文(简体)-英语-对照版.zip 对应Maven信息:groupId:org.apache.commons,artifactId:commons-compress,version:1.18 使用方法:解压翻译后的API...
linux下怎么解后缀名是gzip的文件? 1.以.a为扩展名的文件: #tar xv file.a 2.... #uncompress file.Z ... 或 #compress -dc file.tar.Z | tar xvf – 6.以.tar.gz/.tgz为扩展名的文件: #tar xvzf
标签:apache、compress、commons、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
在Java编程中,`ClassNotFoundException` 是一个常见的运行时异常,通常表示尝试加载某个类时,在类路径中找不到该类的定义。在这个特定的场景中,异常堆栈跟踪显示了 `Caused by: java.lang.ClassNotFoundException...
标签:apache、commons、compress、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
标签:apache、commons、compress、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
标签:apache、commons、compress、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; // 创建Zip输出流 FileOutputStream fos = new FileOutputStream("output.zip"); ZipArchiveOutputStream zos = new ...
标签:apache、compress、commons、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...