package com.itheima.gzip;
import java.io.Closeable;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class GzipUtil {
//压缩
/**
* address.db ----> address.zip
* @param src 被压缩的文件路径
* @param target 压缩后放置的位置
*/
public static void toZip(String src , String target){
FileInputStream fis = null;
GZIPOutputStream gos = null;
try {
fis= new FileInputStream(src);
//输出
FileOutputStream out = new FileOutputStream(target);
gos = new GZIPOutputStream(out);
byte [] buffer = new byte[1024];
int len = 0 ;
while((len = fis.read(buffer)) != -1){
gos.write(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
close(fis);
close(gos);
}
}
/**
* 解压缩 address.zip --- address.db
* @param src
* @param target
*/
public static void unZip(String src , String target){
FileInputStream fis = null;
GZIPInputStream gos = null;
FileOutputStream out = null;
try {
fis= new FileInputStream(src);
//输出
out= new FileOutputStream(target);
gos = new GZIPInputStream(fis);
byte [] buffer = new byte[1024];
int len = 0 ;
while((len = gos.read(buffer)) != -1){
out.write(buffer, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
close(out);
close(gos);
}
}
private static void close(Closeable close){
try {
close.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-658844.html