Este ejemplo comparte el código específico exportado por múltiples archivos Java en paquetes de compresión zip para su referencia. El contenido específico es el siguiente
1. Use Java para implementar la imagen del servidor de barras en un paquete comprimido en formato zip y exportar múltiples archivos en el paquete.
2. El código es el siguiente:
** imageByteutil.java **
clase pública imageByteutil {calidad de flotación estática privada = 0.6f; Public static void compresszip (list <schil> listFiles, outputStream outpt, codifica, compress boolean, alias de cadena) {ZipOutputStream ZipStream = null; intente {zipstream = new ZipOutputStream (salida); for (archivo archivo: listfiles) {compresszip (archivo, zipstream, compress, alias+"_"+(listFiles.IndexOf (archivo) +1)); }} catch (Exception e) {E.PrintStackTrace (); } Finalmente {try {if (zipstream! = null) {zipstream.close (); }} catch (ioException e) {E.PrintStackTrace (); }}} Private static void compresszip (archivo de archivo, zipoutputstream zipstream, compress boolean, alias de cadena) lanza la excepción {fileInputStream input = null; intente {input = new FileInputStream (archivo); // zip (entrada, zipstream, file.getName (), compress); zip (entrada, zipstream, alias+"."+file.getName (). subString (file.getName (). dastIndexOf (".")+1), compress); } catch (Exception e) {E.PrintStackTrace (); } finalmente {try {if (input! = null) input.close (); } catch (ioException e) {E.PrintStackTrace (); }}} private static void zip (entrada inputStream, zipoutputstream zipstream, string zipEntryName, boolean compress) lanza la excepción {byte [] bytes = null; BufferedInputStream bufferStream = null; Pruebe {if (input == null) tire una nueva excepción ("¡No se pudo obtener elementos de datos comprimidos! El nombre del elemento de datos es:" + ZipEntryName); // La entrada comprimida no es un archivo independiente específico, sino un elemento de lista en la lista del archivo de paquete comprimido, llamada entrada, al igual que un índice zipentry zipentry = new ZipEntry ("Image/"+ZipEntryName); // Posición a la posición de entrada comprimida y comience a escribir el archivo en el paquete comprimido zipstream.putNextEntry (ZipEntry); if (compress) {bytes = imageByteutil.CompressOfQuality (entrada, 0); zipstream.write (bytes, 0, bytes.length); } else {bytes = new byte [1024 * 5]; // leer y escribir buffer bufferStream = new BufferedInputStream (entrada); // Entrada buffer int read = 0; while ((read = buffertream.read (bytes))! = -1) {zipstream.write (bytes, 0, read); }}} Catch (ioException e) {E.PrintStackTrace (); } Finalmente {try {if (null! = buffertream) buffertream.close (); } catch (ioException e) {E.PrintStackTrace (); }}} public static byte [] compressOfQuality (archivo de archivo, calidad de flotación) arroja excepción {byte [] bs = null; InputStream Input = NULL; intente {input = new FileInputStream (archivo); bs = compressOfQuality (entrada, calidad); } catch (Exception e) {E.PrintStackTrace (); } finalmente {try {if (input! = null) input.close (); } catch (ioException e) {E.PrintStackTrace (); }} return bs; } public static byte [] compressOfQuality (entrada de entrada de entrada, calidad de flotación) lanza la excepción {byteArRayOutputStream output = null; intente {output = new ByteArRaReOutputStream (); if (Quality == 0) {pulgadas.of (entrada) .scale (1f) .outputQuality (calidad) .tooutputStream (salida); } else {pulgadas.of (entrada) .scale (1f) .outputQuality (calidad) .tooutputStream (salida); } return output.tobytearray (); } catch (Exception e) {E.PrintStackTrace (); } finalmente {try {if (output! = null) output.close (); } catch (ioException e) {E.PrintStackTrace (); }} return null; }}** main.java **
public static void main (string [] args) {// Agregue la colección de archivos que se exportará, agregue el archivo que necesita para exportar List <Sche> listFiles = new ArrayList <> (); // llamando a la clase de herramienta, descripción del parámetro (el conjunto de archivos que debe exportarse, bytearRayOutputStream Object, codificación, si se comprimir [verdadero, falso], el nombre del nombre del archivo) imagyteutil.compresszip (ListFiles, Out, "UTF-8", False, "lwj"); // especificar el formato de exportación returnContext.addParam ("exportFileName", "extFile.zip"); ReturnContext.AddParam ("MIMETYPE", "ZIP"); regresar en;}3. Esta función se implementa de acuerdo con las necesidades del proyecto durante el proceso de desarrollo. La prueba se puede usar normalmente y se puede personalizar.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.