import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class GZIPUtil {
private static final Logger log = LoggerFactory.getLogger(GZIPUtil.class);
public static void compressFile(String inFileName) {
String outFileName = inFileName + ".gz";
FileInputStream in = null;
GZIPOutputStream out = null;
try {
in = new FileInputStream(new File(inFileName));
out = new GZIPOutputStream(new FileOutputStream(outFileName));
byte[] buf = new byte[10240];
int len = 0;
while (((in.available()>10240)&& (in.read(buf)) > 0)) {
out.write(buf);
}
len = in.available();
in.read(buf, 0, len);
out.write(buf, 0, len);
log.info("GZIPUtil : Completing the GZIP file..."+outFileName);
} catch (FileNotFoundException e) {
log.error("GZIPUtil : Could not find the inFile..."+inFileName);
} catch (IOException e) {
log.error("GZIPUtil : Could not find the outFile..."+outFileName);
} finally {
try {
if(in != null) {
in.close();
}
if(out != null) {
out.flush();
}
if(out != null) {
out.close();
}
} catch (IOException e) {
log.info("GZIPUtil : 资源关闭异常:"+e.getMessage());
}
}
}
public static void main(String[] args) {
String str = "C:/logs/eureka/info.log";
System.out.println(str);
compressFile(str);
}