java代码实现压缩文件.gz格式,解压后无后缀名问题
package com.ctid.cps.util.gzipUtil;
import com.ctid.util.file.FileUtil;
import com.ctid.util.file.GZip;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
/**
-
GZIP工具
-
@author
*/
public class GzipUtils {public static final int BUFFER = 1024;
public static final String EXT = “.gz”;/**
-
数据压缩
-
@param data
-
@return
-
@throws Exception
*/
public static byte[] compress(byte[] data) throws Exception {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
ByteArrayOutputStream baos = new ByteArrayOutputStream();// 压缩
compress(bais, baos);byte[] output = baos.toByteArray();
baos.flush();
baos.close();bais.close();
return output;
}
/**
- 文件压缩
- @param file
- @throws Exception
*/
public static void compress(File file) throws Exception {
compress(file, true);
}
/**
-
文件压缩
-
@param file
-
@param delete 是否删除原始文件
-
@throws Exception
*/
public static void compress(File file, boolean delete) throws Exception {
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(file.getPath() + EXT);compress(fis, fos);
fis.close();
fos.flush();
fos.close();if (delete) {
file.delete();
}
}
/**
-