Contoh ini membagikan kode spesifik yang diekspor oleh beberapa file java dalam paket kompresi zip untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Gunakan Java untuk mengimplementasikan gambar server bar ke dalam paket terkompresi dalam format ZIP dan mengekspor beberapa file dalam paket.
2. Kode ini adalah sebagai berikut:
** ImageByTeutil.java **
kelas publik ImageByTeutil {private static float kualitas = 0.6f; public static void compresszip (Daftar <FILE> LISTFILES, OutputStream Output, String Encode, Boolean Compress, String Alias) {ZipOutputStream ZipStream = null; coba {zipstream = new zipoutputStream (output); untuk (file file: listFiles) {compresszip (file, zipstream, compress, alias+"_"+(listFiles.indexof (file) +1)); }} catch (Exception e) {e.printstacktrace (); } akhirnya {coba {if (zipstream! = null) {zipstream.close (); }} catch (ioException e) {E.PrintStackTrace (); }}} private static void compresszip (file file, zipoutputStream zipstream, boolean compress, string alias) melempar pengecualian {fileInputStream input = null; coba {input = new fileInputStream (file); // zip (input, zipstream, file.getName (), kompres); zip (input, zipstream, alias+"."+file.getName (). substring (file.getName (). lastIndexof (".")+1), kompres); } catch (Exception e) {E.PrintStackTrace (); } akhirnya {coba {if (input! = null) input.close (); } catch (ioException e) {e.printstacktrace (); }}} private static void zip (inputStream input, zipoutputStream zipstream, string zipentryname, boolean compress) melempar pengecualian {byte [] bytes = null; BufferedInputStream bufferStream = null; coba {if (input == null) Lempar pengecualian baru ("Gagal mendapatkan item data terkompresi! Nama item data adalah:" + zipEntryname); // Entri terkompresi bukanlah file independen tertentu, tetapi item daftar dalam daftar file paket terkompresi, disebut entri, seperti indeks zipentry zipentry = new zipentry ("gambar/"+zipentryname); // Posisi ke posisi entri terkompresi dan mulailah menulis file ke paket terkompresi zipstream.putNextEntry (zipEntry); if (compress) {bytes = ImageByTeutil.CompressOfquality (input, 0); zipstream.write (bytes, 0, bytes.length); } else {bytes = byte baru [1024 * 5]; // Baca dan tulis buffer bufferStream = baru bufferedInputStream (input); // input buffer int read = 0; while ((baca = bufferstream.read (bytes))! = -1) {zipstream.write (bytes, 0, baca); }}} catch (ioException e) {E.PrintStackTrace (); } akhirnya {coba {if (null! = bufferstream) bufferstream.close (); } catch (ioException e) {e.printstacktrace (); }}} public static byte [] compressofquality (file file, kualitas float) melempar pengecualian {byte [] bs = null; Inputstream input = null; coba {input = new fileInputStream (file); bs = compressofquality (input, kualitas); } catch (Exception e) {E.PrintStackTrace (); } akhirnya {coba {if (input! = null) input.close (); } catch (ioException e) {e.printstacktrace (); }} return bs; } public static byte [] compressOfquality (inputStream input, float kualitas) melempar Exception {ByTeArrayOutputStream output = null; coba {output = new ByTeArrayOutputStream (); if (kualitas == 0) {thumbnails.of (input) .scale (1f) .Outputquality (kualitas) .toOutputStream (output); } else {thumbnails.of (input) .scale (1f) .Outputquality (kualitas) .toOutputStream (output); } return output.tobyTeArray (); } catch (Exception e) {E.PrintStackTrace (); } akhirnya {coba {if (output! = null) output.close (); } catch (ioException e) {e.printstacktrace (); }} return null; }}** main.java **
public static void main (string [] args) {// Tambahkan koleksi file yang akan diekspor, tambahkan file yang Anda butuhkan untuk mengekspor daftar <pangkok> listFiles = new ArrayList <> (); // Memanggil kelas alat, deskripsi parameter (set file yang perlu diekspor, bytearrayoutputputstream objek, pengkodean, apakah akan mengompres [true, false], awalan nama file) gambarByTeutil.Compresszip (listFiles, out, "UTF-8", false, "lwj"); // Tentukan format ekspor returnContext.addparam ("ExportFileName", "extfile.zip"); ReturnContext.addparam ("mimetype", "zip"); kembali;}3. Fungsi ini diimplementasikan sesuai dengan kebutuhan proyek selama proses pengembangan. Tes dapat digunakan secara normal dan dapat disesuaikan.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.