POM:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.5</version>
</dependency>代碼
import java.io.File;
import java.io.FileOutputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
import org.apache.commons.compress.compressors.CompressorOutputStream;
import org.apache.commons.compress.compressors.CompressorStreamFactory;
import org.apache.commons.io.FileUtils;
import org.junit.Test;@Test
public void testtgz() throws Exception {
String outputFilePath = "/Users/xxx/Documents/test.tar.gz";
File outputFile = new File(outputFilePath);
FileOutputStream fileOutputStream = FileUtils
.openOutputStream(outputFile);
CompressorOutputStream gzippedOut = new CompressorStreamFactory()
.createCompressorOutputStream(CompressorStreamFactory.GZIP,
fileOutputStream);
String inputFilePath = "/Users/xxx/aaa.pdf";
File inputFile = new File(inputFilePath);
TarArchiveEntry tae = new TarArchiveEntry(inputFile,
inputFile.getName());
TarArchiveOutputStream taos = new TarArchiveOutputStream(gzippedOut);
taos.putArchiveEntry(tae);
taos.write(FileUtils.readFileToByteArray(inputFile));
taos.closeArchiveEntry();
taos.close();
gzippedOut.close();
}
本文介绍了一种使用Java编程语言结合commons-io和commons-compress库来创建.tgz文件的方法。该方法首先通过指定路径读取源文件,然后利用TarArchiveEntry和TarArchiveOutputStream创建tar归档,最后通过CompressorStreamFactory压缩为gzip格式。
290

被折叠的 条评论
为什么被折叠?



