В этом примере используется конкретный код, экспортируемый несколькими файлами Java в пакетах сжатия Zip для вашей ссылки. Конкретный контент заключается в следующем
1. Используйте Java для реализации изображения шар -сервера в сжатый пакет в формате ZIP и экспортируйте несколько файлов в пакете.
2. Код выглядит следующим образом:
** ImageByteutil.java **
открытый класс ImageByteutil {Private Static Float качество = 0,6F; public static void compresszip (list <file> listfiles, вывод outputstream, строковый код, логическое сжатие, псевдоним строки) {ZipoutputStream ZipStream = null; try {zipstream = new zipoutputstream (output); for (файл файла: listfiles) {compresszip (файл, Zipstream, сжатие, псевдоним+"_"+(listfiles.indexof (file) +1)); }} catch (Exception e) {e.printstackTrace (); } наконец {try {if (zipstream! = null) {zipstream.close (); }} catch (ioException e) {e.printstacktrace (); }}} private static void compresszip (файл файл, zipoutputstream Zipstream, Boolean Compress, String Alias) Throws Exception {fileInputStream input = null; try {input = new FileInputStream (file); // Zip (input, ZipStream, file.getName (), Compress); Zip (input, ZipStream, псевдоним+"."+file.getName (). substring (file.getName (). LastIndexof (".")+1), сжатие); } catch (Exception e) {e.printstackTrace (); } наконец {try {if (input! = null) input.close (); } catch (ioException e) {e.printstackTrace (); }}} private static void zip (вход inputstream, zipoutputstream Zipstream, String ZipentryName, Boolean Compress) Throws Exception {byte [] bytes = null; BufferedInputStream BufferStream = null; try {if (input == null) бросить новое исключение («Не удалось получить сжатые элементы данных! Имя элемента данных:» + ZipentryName); // Сжатая запись не является конкретным независимым файлом, а элемент списка в списке файла сжатого пакета, называемый записью, как индекс Zipentry Zipentry = new Zipentry ("Image/"+ZipentryName); // позиция в позицию сжатого входа и запустить файл в сжатый пакет Zipstream.putNextEntry (Zipentry); if (compress) {bytes = imageByteutil.compressOfatality (вход, 0); zipstream.write (байты, 0, байт.length); } else {bytes = new Byte [1024 * 5]; // Читать и записать буферный буфер = new BufferedInputStream (input); // входной буфер int read = 0; while ((read = bufferstream.read (bytes))! = -1) {zipstream.write (bytes, 0, read); }}} catch (ioException e) {e.printstacktrace (); } наконец {try {if (null! = bufferstream) bufferstream.close (); } catch (ioException e) {e.printstackTrace (); }}} public static byte [] Compressofatality (файл файл, качество плавания) бросает исключение {byte [] bs = null; InputStream input = null; try {input = new FileInputStream (file); BS = компрессоропроницаемость (вход, качество); } catch (Exception e) {e.printstackTrace (); } наконец {try {if (input! = null) input.close (); } catch (ioException e) {e.printstackTrace (); }} return bs; } public static byte [] CompressOfatility (InputStream вход, качество плавания) бросает исключение {bytearrayOutputStream output = null; try {output = new BytearrayOutputStream (); if (Quality == 0) {thumbnails.of (input) .scale (1f) .OutputQuality (качество) .tooutputStream (output); } else {thumbnails.of (input) .scale (1f) .Outputquality (Quality) .tooutputStream (output); } return output.tobytearray (); } catch (Exception e) {e.printstackTrace (); } наконец {try {if (output! = null) output.close (); } catch (ioException e) {e.printstackTrace (); }} return null; }}** main.java **
public static void main (string [] args) {// Добавить коллекцию файлов для экспорта, добавьте файл, необходимый для экспорта <File> listFiles = new ArrayList <> (); // Вызов класса инструментов, Описание параметра (набор файлов, который должен быть экспортирован, объект BytearRayoutputStream, кодирование, будь то сжатие [true, false], prefix файла) ImageByteil.compresszip (listfiles, out, «UTF-8», false, «lwj»); // Укажите формат экспорта returncontext.addparam ("exportfilename", "extfile.zip"); ReturnContext.addparam ("MimeType", "Zip"); вернуться;}3. Эта функция реализована в соответствии с потребностями проекта в процессе разработки. Тест может использоваться нормально и может быть настроен.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.