import org.apache.commons.compress.utils.IOUtils;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public static class GZ{
public static void gzDeflate(String in, String out){
try{
FileInputStream fin = new FileInputStream(in);//file to compress
FileOutputStream fout = new FileOutputStream(out);//output file
GZIPOutputStream gz_out = new GZIPOutputStream(fout);//gzipped file
//creates gzip
IOUtils.copy(fin, gz_out);
/*if you do not want to use Apache libraries, you can read bytes from fin and write them to gz_out in a loop*/
}
catch(Exception e){
//do something
}
finally{
//DO NOT close in any other order!!
IOUtils.closeQuietly(gz_out);
IOUtils.closeQuietly(fout);
IOUtils.closeQuietly(fin);
/*if you do not want to use Apache libraries you can check if object is not null and close it*/
}
}
public static void gzInflate(String in, String out){
try{
FileInputStream fin = new FileInputStream(in);//file to decompress
GZIPInputStream gz_in = new GZIPInputStream(fin);
FileOutputStream fout = new FileOutputStream(out);//output file
//inflates gzip
IOUtils.copy(gz_in, fout);
/*if you do not want to use Apache libraries, you can read bytes from gz_in and write them to fout in a loop*/
}
catch(Exception e){
//do something
}
finally{
//DO NOT close in any other order!!
IOUtils.closeQuietly(fout);
IOUtils.closeQuietly(gz_in);
IOUtils.closeQuietly(fin);
/*if you do not want to use Apache libraries you can check if object is not null and close it*/
}
}
}
As you can see, all usual checks have been omitted but I'm sure you'll check for file existence, etc.. beforehand
No comments:
Post a Comment
With great power comes great responsibility