复制代码代码如下:
paquete com.cjonline.foundation.cpe.action;
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.zip.gzipinputstream;
import java.util.zip.gzipoutputstream;
Public Abstract Clase Gziputils {
Public static final int tamper = 1024;
Public static final String ext = ".gz";
/**
* 数据压缩
*
* @param datos
* @devolver
* @@throws Exception
*/
Public static byte [] compress (byte [] data) lanza la excepción {
ByteArrayInputStream BAIS = new ByteArrayInputStream (datos);
BytearRayOutputStream Baos = new ByteArRayOutputStream ();
// 压缩
compresa (bais, baos);
byte [] output = baos.tobytearray ();
baos.flush ();
baos.close ();
bais.close ();
salida de retorno;
}
/**
* 文件压缩
*
* @Param File
* @@throws Exception
*/
Public static void compress (archivo de archivo) lanza una excepción {
compress (archivo, verdadero);
}
/**
* 文件压缩
*
* @Param File
* @param eliminar
* 是否删除原始文件
* @@throws Exception
*/
Public static void compress (archivo de archivo, boolean delete) lanza la excepción {
FileInputStream fis = new FileInputStream (archivo);
FileOutputStream fos = new FileOutputStream (file.getPath () + ext);
compresa (fis, fos);
fis.close ();
fos.flush ();
fos.close ();
if (eliminar) {
file.delete ();
}
}
/**
* 数据压缩
*
* @param es
* @param OS
* @@throws Exception
*/
Compress vacío estático público (InputStream es, OutputStream OS)
lanza excepción {
GzipoutputStream gos = new GzipoutputStream (OS);
int cuenta;
Datos de byte [] = new Byte [buffer];
while ((count = is.read (data, 0, buffer))! = -1) {
gos.write (datos, 0, recuento);
}
gos.finish ();
gos.flush ();
gos.close ();
}
/**
* 文件压缩
*
* @param ruta
* @@throws Exception
*/
Public static void compress (ruta de cadena) lanza la excepción {
compresa (ruta, verdadero);
}
/**
* 文件压缩
*
* @param ruta
* @param eliminar
* 是否删除原始文件
* @@throws Exception
*/
Public static void compress (ruta de cadena, eliminación booleana) arroja excepción {
Archivo archivo = nuevo archivo (ruta);
compress (archivo, eliminar);
}
/**
* 数据解压缩
*
* @param datos
* @devolver
* @@throws Exception
*/
Public static byte [] descompress (byte [] datos) arroja excepción {
ByteArrayInputStream BAIS = new ByteArrayInputStream (datos);
BytearRayOutputStream Baos = new ByteArRayOutputStream ();
// 解压缩
descompresión (bais, baos);
data = baos.tobytearray ();
baos.flush ();
baos.close ();
bais.close ();
devolver datos;
}
/**
* 文件解压缩
*
* @Param File
* @@throws Exception
*/
public static void descompress (archivo de archivo) lanza una excepción {
descompress (archivo, verdadero);
}
/**
* 文件解压缩
*
* @Param File
* @param eliminar
* 是否删除原始文件
* @@throws Exception
*/
Public static void descompress (archivo de archivo, boolean delete) lanza la excepción {
FileInputStream fis = new FileInputStream (archivo);
FileOutputStream Fos = new FileOutputStream (file.getPath (). Reemplazar (ext,
""));
descompresión (fis, fos);
fis.close ();
fos.flush ();
fos.close ();
if (eliminar) {
file.delete ();
}
}
/**
* 数据解压缩
*
* @param es
* @param OS
* @@throws Exception
*/
Descompress vacío estático público (InputStream es, OutputStream OS)
lanza excepción {
GzipinputStream gis = new GzipinputStream (is);
int cuenta;
Datos de byte [] = new Byte [buffer];
while ((count = gis.read (data, 0, buffer))! = -1) {
OS.Write (datos, 0, recuento);
}
gis.close ();
}
/**
* 文件解压缩
*
* @param ruta
* @@throws Exception
*/
Public static void descompress (ruta de cadena) arroja una excepción {
descompresión (ruta, verdadero);
}
/**
* 文件解压缩
*
* @param ruta
* @param eliminar
* 是否删除原始文件
* @@throws Exception
*/
Public static void descompress (ruta de cadena, eliminación booleana) arroja excepción {
Archivo archivo = nuevo archivo (ruta);
descompress (archivo, eliminar);
}
}