国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JAVA中的deflate壓縮實現方法

JAVA中的deflate壓縮實現方法

2020-06-09 11:57jingxian JAVA教程

下面小編就為大家帶來一篇JAVA中的deflate壓縮實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在文件的傳輸過程中,為了使大文件能夠更加方便快速的傳輸,一般采用壓縮的辦法來對文件壓縮后再傳輸,JAVA中的java.util.zip包中的Deflater和Inflater類為使用者提供了DEFLATE算法的壓縮功能,以下是自已編寫的壓縮和解壓縮實現,并以壓縮文件內容為例說明,其中涉及的具體方法可查看JDK的API了解說明。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/**
   *
   * @param inputByte
   *      待解壓縮的字節數組
   * @return 解壓縮后的字節數組
   * @throws IOException
   */
  public static byte[] uncompress(byte[] inputByte) throws IOException {
    int len = 0;
    Inflater infl = new Inflater();
    infl.setInput(inputByte);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] outByte = new byte[1024];
    try {
      while (!infl.finished()) {
        // 解壓縮并將解壓縮后的內容輸出到字節輸出流bos中
        len = infl.inflate(outByte);
        if (len == 0) {
          break;
        }
        bos.write(outByte, 0, len);
      }
      infl.end();
    } catch (Exception e) {
      //
    } finally {
      bos.close();
    }
    return bos.toByteArray();
  }
 
  /**
   * 壓縮.
   *
   * @param inputByte
   *      待壓縮的字節數組
   * @return 壓縮后的數據
   * @throws IOException
   */
  public static byte[] compress(byte[] inputByte) throws IOException {
    int len = 0;
    Deflater defl = new Deflater();
    defl.setInput(inputByte);
    defl.finish();
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] outputByte = new byte[1024];
    try {
      while (!defl.finished()) {
        // 壓縮并將壓縮后的內容輸出到字節輸出流bos中
        len = defl.deflate(outputByte);
        bos.write(outputByte, 0, len);
      }
      defl.end();
    } finally {
      bos.close();
    }
    return bos.toByteArray();
  }
 
  public static void main(String[] args) {
    try {
      FileInputStream fis = new FileInputStream("D:\\testdeflate.txt");
      int len = fis.available();
      byte[] b = new byte[len];
      fis.read(b);
      byte[] bd = compress(b);
      // 為了壓縮后的內容能夠在網絡上傳輸,一般采用Base64編碼
      String encodestr = Base64.encodeBase64String(bd);
      byte[] bi = uncompress(Base64.decodeBase64(encodestr));
      FileOutputStream fos = new FileOutputStream("D:\\testinflate.txt");
      fos.write(bi);
      fos.flush();
      fos.close();
      fis.close();
    } catch (Exception e) {
      //
    }
  }

以上這篇JAVA中的deflate壓縮實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91免费精品| 色乱码一区二区三区网站 | 欧美在线网站 | 日本一区二区三区免费观看 | 国产美女自拍视频 | 91av导航| 国产精品国产精品国产专区不片 | 日穴视频在线观看 | 在线成人av | 婷婷激情久久 | 伊人操操 | 超级av | 久久久久久极品 | 国产精品久久久久久久久久东京 | 久久不射电影网 | 最新av在线 | 久久诱惑| 日本www视频 | www.久久久久久久 | 成人av影视 | 午夜精品久久久久 | 在线观看欧美一区 | 九九导航 | 欧美精品一区二区视频 | 综合二区 | 最近高清无吗免费看 | 欧美成人精品一区二区三区 | 国产一区二区三区四 | 在线中文视频 | 日本在线免费观看视频 | 国产精品美女视频 | 日韩av视屏| 亚洲高清电影 | 国产一区二区影院 | 欧美日韩一区二区在线 | 国产在线观 | 婷婷色国产偷v国产偷v小说 | 欧美日韩在线一区二区三区 | 国产精品久久久久久久久久久久久久 | 日本免费黄色 | 黄片毛片毛片毛片 |