Cet exemple partage le code spécifique exporté par plusieurs fichiers Java dans des packages de compression ZIP pour votre référence. Le contenu spécifique est le suivant
1. Utilisez Java pour implémenter l'image du serveur BAR dans un package compressé au format zip et exporter plusieurs fichiers dans le package.
2. Le code est le suivant:
** ImageByteutil.java **
classe publique ImageByteutil {qualité de flottement statique privée = 0,6f; public static void compresszip (list <FichE> listfiles, outputStream sorping, String Encode, boolean compress, String alias) {zipOutputStream zipstream = null; essayez {zipstream = new ZipOutputStream (output); pour (fichier de fichier: listFiles) {compresszip (fichier, zipstream, compress, alias + "_" + (listfiles.indexof (file) +1)); }} catch (exception e) {e.printStackTrace (); } enfin {try {if (zipstream! = null) {zipstream.close (); }} catch (ioException e) {e.printStackTrace (); }}} private static void compresszip (fichier de fichier, zipOutputStream zipstream, boolean compress, string alias) lève exception {fileInputStream input = null; try {input = new FileInputStream (fichier); // zip (input, zipstream, file.getName (), compress); zip (input, zipstream, alias + "." + file.getName (). substring (file.getName (). LastIndexof (".") + 1), compress); } catch (exception e) {e.printStackTrace (); } enfin {try {if (input! = null) input.close (); } catch (ioException e) {e.printStackTrace (); }}} private static void zip (inputStream Input, zipOutputStream zipstream, string zipentryname, boolean compress) lève exception {byte [] bytes = null; BufferedInputStream BufferStream = NULL; essayez {if (input == null) lancez une nouvelle exception ("Impossible d'obtenir des éléments de données compressés! Le nom de l'élément de données est:" + zipentryname); // l'entrée compressée n'est pas un fichier indépendant spécifique, mais un élément de liste dans la liste du fichier de package compressé, appelé une entrée, tout comme un index zipentry zipentry = new Zipentry ("image /" + zipentryname); // positionner à la position d'entrée compressée et commencer à écrire le fichier dans le package compressé zipstream.putNextentry (zipentry); if (compress) {bytes = imageByteutil.compressofquality (entrée, 0); zipstream.write (octets, 0, bytes.length); } else {bytes = new byte [1024 * 5]; // lire et écrire du tampon tampon de tampon = new bufferedInputStream (entrée); // tampon d'entrée int read = 0; while ((read = buffStream.read (bytes))! = -1) {zipstream.write (bytes, 0, lecture); }}} catch (ioException e) {e.printStackTrace (); } enfin {try {if (null! = Bufferstream) buffStream.close (); } catch (ioException e) {e.printStackTrace (); }}} Public Static octet [] compressofquality (fichier de fichier, float qualité) lève l'exception {byte [] bs = null; InputStream input = null; try {input = new FileInputStream (fichier); bs = compressofquality (entrée, qualité); } catch (exception e) {e.printStackTrace (); } enfin {try {if (input! = null) input.close (); } catch (ioException e) {e.printStackTrace (); }} return bs; } Public Static octet [] Compressofquality (entrée InputStream, Float Quality) lève une exception {ByteArrayOutputStream output = null; essayez {output = new byTearrayOutputStream (); if (Quality == 0) {Thumbnails.of (entrée) .Scale (1f) .Outputquality (Quality) .toOutputStream (sortie); } else {Thumbnails.of (input) .scale (1f) .Outputquality (qualité) .toOutputStream (output); } return output.toByTearray (); } catch (exception e) {e.printStackTrace (); } enfin {try {if (output! = null) output.close (); } catch (ioException e) {e.printStackTrace (); }} return null; }}** Main.java **
public static void main (String [] args) {// Ajouter la collection de fichiers à exporter, ajoutez le fichier dont vous avez besoin pour exporter la liste <fichier> listFiles = new ArrayList <> (); // Appel de la classe d'outils, description du paramètre (l'ensemble de fichiers qui doit être exporté, bytearrayoutputStream objet, codage, qu'il s'agisse de compresser [true, false], de nom de fichier préfixe) imageByteutil.compresszip (listfiles, out, "utf-8", false, "lwj"); // Spécifiez le format d'exportation returnContext.addParam ("ExportFileName", "Extfile.zip"); ReturnContext.addParam ("mimeType", "zip"); retour dans;}3. Cette fonction est mise en œuvre en fonction des besoins du projet pendant le processus de développement. Le test peut être utilisé normalement et peut être personnalisé.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.