Este exemplo compartilha o código específico exportado por vários arquivos Java em pacotes de compactação ZIP para sua referência. O conteúdo específico é o seguinte
1. Use Java para implementar a imagem do servidor de barras em um pacote compactado no formato ZIP e exporte vários arquivos no pacote.
2. O código é o seguinte:
** ImageByteutil.java **
classe pública ImageByteutil {private static float Quality = 0.6f; public static void Compresszip (list <File> ListFiles, Saída de saída, codificação de string, compactação booleana, alias de string) {ZipOutputPutStream zipStream = null; tente {zipStream = new ZipOutputStream (saída); para (arquivo de arquivo: listfiles) {compresszip (arquivo, zipStream, compactação, alias+"_"+(listfiles.indexof (file) +1)); }} catch (Exceção e) {e.printStackTrace (); } finalmente {tente {if (zipStream! = null) {zipStream.close (); }} catch (ioexception e) {e.printStackTrace (); }}} private estático void compresszip (arquivo de arquivo, zipOutputStream zipStream, compactação booleana, alias de string) lança exceção {FileInputStream input = null; tente {input = new FileInputStream (arquivo); // zip (entrada, zipStream, file.getName (), compact); zip (entrada, zipStream, alias+"."+file.getName (). substring (file.getName (). lastIndexOf (".")+1), compactar); } catch (Exceção e) {e.printStackTrace (); } finalmente {tente {if (input! = null) input.close (); } catch (ioexception e) {e.printStackTrace (); }}} private estático void zip (entrada de entrada de entrada, zipOutputStream ZipStream, string zipentryName, compactação booleana) lança exceção {byte [] bytes = null; BufferInputStream bufferStream = null; tente {if (input == NULL) lançar uma nova exceção ("Falha ao obter itens de dados compactados! O nome do item de dados é:" + zipentryName); // A entrada compactada não é um arquivo independente específico, mas um item de lista na lista do arquivo de pacote compactado, chamado de entrada, assim como um zipentry zipentry zipentry = new zipentry ("imagem/"+zipentryName); // Posição na posição de entrada compactada e comece a gravar o arquivo no pacote compactado zipStream.putNextEntry (Zipentry); if (compact) {bytes = imageByteUtil.comPressOfficality (entrada, 0); zipStream.write (bytes, 0, bytes.length); } else {bytes = novo byte [1024 * 5]; // Leia e grava buffer bufferStream = new BufferInputStream (entrada); // buffer de entrada int read = 0; while ((read = bufferStream.read (bytes))! = -1) {zipStream.write (bytes, 0, leia); }}} catch (ioexception e) {e.printStackTrace (); } finalmente {tente {if (null! = bufferStream) bufferStream.close (); } catch (ioexception e) {e.printStackTrace (); }}} public static byte [] compressofficality (arquivo de arquivo, qualidade de flutuação) lança exceção {byte [] bs = null; InputStream input = null; tente {input = new FileInputStream (arquivo); bs = compressão de qualidade (entrada, qualidade); } catch (Exceção e) {e.printStackTrace (); } finalmente {tente {if (input! = null) input.close (); } catch (ioexception e) {e.printStackTrace (); }} retornar BS; } public static byte [] compressofficality (entrada de entrada de entrada, qualidade float) lança exceção {bytearrayOutputStream Output = null; tente {output = new ByteArrayOutputStream (); if (qualidade == 0) {thumbnails.of (entrada) .cale (1f) .OutputQuity (qualidade) .toOutputStream (saída); } else {thumbnails.of (input) .Scale (1f) .OutputQuity (qualidade) .toOutputStream (saída); } return Output.TobyTearray (); } catch (Exceção e) {e.printStackTrace (); } finalmente {tente {if (output! = null) output.close (); } catch (ioexception e) {e.printStackTrace (); }} retornar nulo; }}** main.java **
public static void main (string [] args) {// Adicione a coleção de arquivos a ser exportada, adicione o arquivo necessário para exportar lista <File> listFiles = new ArrayList <> (); // chamando a classe de ferramenta, o parâmetro Descrição (o conjunto de arquivos que precisa ser exportado, objeto de bytearrayoutputStream, codificando, se deve comprimir [true, false], nome do arquivo prefixo) imageByteUtil.compresszip (listfiles, out, "utf-8", false, "lwj"); // Especifique o formato de exportação returnContext.addparam ("exportFileName", "extfile.zip"); ReturnContext.addparam ("Mimetype", "zip"); retornar;}3. Esta função é implementada de acordo com as necessidades do projeto durante o processo de desenvolvimento. O teste pode ser usado normalmente e pode ser personalizado.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.