欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java多文件以ZIP壓縮包導(dǎo)出的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)

本文實(shí)例為大家分享了Java多文件以ZIP壓縮包導(dǎo)出的具體代碼,供大家參考,具體內(nèi)容如下

站在用戶的角度思考問題,與客戶深入溝通,找到蒙城網(wǎng)站設(shè)計與蒙城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋蒙城地區(qū)。

1、使用java實(shí)現(xiàn)吧服務(wù)器的圖片打包成一個zip格式的壓縮包導(dǎo)出,多個文件打包導(dǎo)出。
2、代碼如下:

**ImageByteUtil.java**

public class ImageByteUtil{
  private static float QUALITY = 0.6f;
  public static void compressZip(List<File> listfiles, OutputStream output,String encode, boolean compress,String alias){
  ZipOutputStream zipStream = null;
  try {
      zipStream = new ZipOutputStream(output);
      for (File file : listfiles){
        compressZip(file, zipStream, compress,alias+"_"+(listfiles.indexOf(file)+1));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }finally {
      try { 
        if (zipStream != null) { 
          zipStream.close(); 
        } 
      } catch (IOException e) { 
        e.printStackTrace(); 
      }
    }
  }

private static void compressZip(File file, 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, alias+"."+file.getName().substring(file.getName().lastIndexOf(".")+1), compress);
    } catch (Exception e) {
      e.printStackTrace();
    }finally {
      try { 
        if(input != null) 
          input.close(); 
      } catch (IOException e) { 
        e.printStackTrace(); 
      }
    }
  }

private static void zip(InputStream input, ZipOutputStream zipStream, 
      String zipEntryName, boolean compress) throws Exception{
      byte[] bytes = null; 
    BufferedInputStream bufferStream = null; 
    try { 
      if(input == null) 
        throw new Exception("獲取壓縮的數(shù)據(jù)項失敗! 數(shù)據(jù)項名為:" + zipEntryName); 
      // 壓縮條目不是具體獨(dú)立的文件,而是壓縮包文件列表中的列表項,稱為條目,就像索引一樣 
      ZipEntry zipEntry = new ZipEntry("圖片/"+zipEntryName);
      // 定位到該壓縮條目位置,開始寫入文件到壓縮包中 
      zipStream.putNextEntry(zipEntry);
      if (compress) { 
        bytes = ImageByteUtil.compressOfQuality(input, 0); 
        zipStream.write(bytes, 0, bytes.length); 
      } else {
        bytes = new byte[1024 * 5];// 讀寫緩沖區(qū) 
        bufferStream = new BufferedInputStream(input);// 輸入緩沖流 
        int read = 0; 
        while ((read = bufferStream.read(bytes)) != -1) {
          zipStream.write(bytes, 0, read); 
        } 
      } 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } finally { 
      try { 
        if (null != bufferStream) 
          bufferStream.close(); 
      } catch (IOException e) { 
        e.printStackTrace(); 
      } 
    }
  }

  public static byte[] compressOfQuality(File file, float quality) throws Exception{
    byte[] bs = null; 
    InputStream input = null; 
    try { 
      input = new FileInputStream(file); 
      bs = compressOfQuality(input,quality);
    } catch (Exception e) { 
      e.printStackTrace(); 
    } finally { 
      try { 
        if (input != null) 
          input.close(); 
      } catch (IOException e) { 
        e.printStackTrace(); 
      } 
    } 
    return bs;
  }

  public static byte[] compressOfQuality(InputStream input, float quality) 
      throws Exception {
      ByteArrayOutputStream output = null; 
    try { 
      output = new ByteArrayOutputStream(); 
      if(quality == 0){ 
        Thumbnails.of(input).scale(1f).outputQuality(QUALITY) 
        .toOutputStream(output); 
      } else { 
        Thumbnails.of(input).scale(1f).outputQuality(quality).toOutputStream(output); 
      } 
      return output.toByteArray(); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } finally { 
      try { 
        if (output != null) 
          output.close(); 
      } catch (IOException e) { 
        e.printStackTrace(); 
      } 
    } 
    return null;
  }
}

本文題目:Java多文件以ZIP壓縮包導(dǎo)出的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://aaarwkj.com/article16/dppcgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站策劃、企業(yè)網(wǎng)站制作、網(wǎng)站營銷、動態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
日本理论午夜三级在线观看| 中文字幕一区二区不卡顿| 成人在线视频国产自拍| 久久人体午夜激情视频| 久草视频免费福利观看| 国产农村熟妇av国语对白| 免费又色又爽无遮挡网站| 国产精品一区二区夜夜夜| 国产丝袜美腿诱惑久久| 九九在线视频精品免费播放| 男女搞j视频网站免费观看| 欧美国产日本日韩在线黄| 国产91九色蝌蚪在线观看| 欧美黄色免费电影网站| 91制片国产在线观看| 国产999精品免费国产| 亚洲国产精品欧美激情| 色人阁在线精品免费视频 | 国产精品美女露脸av毛片| 国产亚洲精品精品国产亚洲 | 国产区青青操自拍视频| 亚洲综合偷拍欧美一区色| 国产一区二区91精品 | 日本美女激情在线观看| 五月婷婷丁香视频在线| 午夜福利成人在线免费观看| 巨乳中文乱码国产一区二区| 日本欧美三级高潮受不了| 午夜少妇久久久久久久久| 国产产品在线免费看91| 国产精品一区二区麻豆本子| 国产自拍最新在线视频| 欧美精品国产一区二区免费| 亚洲熟妇一区二区在线| 日韩精品国产自拍在线| 日韩三级av在线免费观看| 亚洲男人的av天堂生活| 亚洲国产丁香综合激情啪| 亚洲国产日韩精品av| 97视频网站在线观看| 亚洲天堂岛av一区二区|