SharpZipLib es una biblioteca de compresión de archivos para C # y otros lenguajes de programación NET , proporcionando funciones para el manejo de formatos ZIP , GZIP , BZIP2 y TAR . . La biblioteca cuenta con una interfaz muy simple, lo que le permite comprimir un archivo con sólo un par de llamadas de función. Después de construir el resto de su programa - el supuesto de que su proyecto es algo más que una utilidad de línea de comandos comprimir - incluir la librería SharpZipLib y crear una función de comprimir , que luego se puede llamar desde su código en otros lugares. Instrucciones
1
Crear encabezado de la función. Debe ser algo como esto :
public static void Zip ( ArchivoDeEntrada string , string archivoSalida )
define el nombre y los parámetros de la función. Suponiendo que se utiliza el código de seguridad exactamente como está escrito , usted será capaz de llamar a la función , la compresión de un archivo específico en una postal , por ejemplo:
Zip ( " imagen.jpg ", " image.zip ") ;
2
Comience el cuerpo de la función , declarando las variables necesarias e instancias de objetos . Debe ser algo como esto :
{
FileStream fileStreamIn = new FileStream
( ArchivoDeEntrada , FileMode.Open , FileAccess.Read ) ;
FileStream fileStreamOut = new FileStream
( archivoSalida , FileMode.Create , FileAccess.Write ) ;
ZipOutputStream zipStreamOut = new ZipOutputStream ( fileStreamOut ) ;
byte [ ] buffer = nuevo octeto ;
entrada ZipEntry = new ZipEntry ( Path.GetFileName ( ArchivoDeEntrada ));
zipOutStream.PutNextEntry ( entrada) ;
int size ;
crea dos FileStreams para los archivos de entrada y salida , y luego una ZipOutputStream basado en el FileStream de salida que acaba de declarar . Esto es seguido por unas pocas variables para el manejo de los números en la carne de la función viene a continuación , y un par para el almacenamiento de la ruta del archivo de salida.
3
Introduce la carne de la función - - un " do ... mientras que" bucle que lee en los datos y lo comprime :
hacer
{
tamaño
= fileStreamIn.Read (tampón , 0 , tampón . longitud) ;
zipStreamOut.Write (buffer, 0 , tamaño) ;
} while ( size> 0 ) ;
pasará por el archivo , una byte a la vez , la alimentación de los datos a la función de " escritura " de zipStreamOut . El proceso se repetirá hasta que se llega al final del archivo y el comprimir se ha completado.
4
Cierre la cremallera y FileStreams , y terminar la función , poner en orden todo lo la función se ha completado y se puede utilizar en su programa si lo deseas .