eam(new BufferedOutputStream(new
FileOutputStream(destFile), bufferLen));
IOUtils.copy(is, out);
} finally {
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(out);
}
}
@Override
protected void doDecompress(File srcFile, File destDir) throws
IOException {
InputStream is = null;
OutputStream os = null;
try {
File destFile = new File(destDir,
FilenameUtils.getBaseName(srcFile.toString()));
is = new BZip2CompressorInputStream(new BufferedInputStream(new
FileInputStream(srcFile), bufferLen));
os = new BufferedOutputStream(new FileOutputStream(destFile),
bufferLen);
IOUtils.copy(is, os);
} finally {
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(os);
}
}
}
Apache commons compress ZIP压缩:
package study.inkfish.compress;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import
org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import
org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.io.IOUtils;
public class CommonsZipCompress extends Compress {
@Override
protected void doCompress(File srcFile, File destFile) throws
IOException {
ZipArchiveOutputStream out = null;
InputStream is = null;
try {
is = new BufferedInputStream(new FileInputStream(srcFile),
bufferLen);
out = new ZipArchiveOutputStream(new BufferedOutputStream(new
FileOutputStream(destFile), bufferLen));
ZipArchiveEntry entry = new
ZipArchiveEntry(srcFile.getName());
entry.setSize(srcFile.length());
out.putArchiveEntry(entry);
IOUtils.copy(is, out);
out.closeArchiveEntry();
} f