Java工具類——字串壓縮StringCompress

來源:互聯網
上載者:User

1.compress(String):對字串進行ZIP壓縮餅返回位元組數組

2.decompress(byte[]):將壓縮的位元組數組還原成字串

用途:可用於將字串儲存到資料庫BOLB中。

import java.io.ByteArrayInputStream;  import java.io.ByteArrayOutputStream;  import java.io.IOException;  import java.util.zip.ZipEntry;  import java.util.zip.ZipInputStream;  import java.util.zip.ZipOutputStream;    public class StringCompress {      public static final byte[] compress(String paramString) {          if (paramString == null)              return null;          ByteArrayOutputStream byteArrayOutputStream = null;          ZipOutputStream zipOutputStream = null;          byte[] arrayOfByte;          try {              byteArrayOutputStream = new ByteArrayOutputStream();              zipOutputStream = new ZipOutputStream(byteArrayOutputStream);              zipOutputStream.putNextEntry(new ZipEntry("0"));              zipOutputStream.write(paramString.getBytes());              zipOutputStream.closeEntry();              arrayOfByte = byteArrayOutputStream.toByteArray();          } catch (IOException localIOException5) {              arrayOfByte = null;          } finally {              if (zipOutputStream != null)                  try {                      zipOutputStream.close();                  } catch (IOException localIOException6) {              }              if (byteArrayOutputStream != null)                  try {                      byteArrayOutputStream.close();                  } catch (IOException localIOException7) {              }          }          return arrayOfByte;      }        @SuppressWarnings("unused")      public static final String decompress(byte[] paramArrayOfByte) {          if (paramArrayOfByte == null)              return null;          ByteArrayOutputStream byteArrayOutputStream = null;          ByteArrayInputStream byteArrayInputStream = null;          ZipInputStream zipInputStream = null;          String str;          try {              byteArrayOutputStream = new ByteArrayOutputStream();              byteArrayInputStream = new ByteArrayInputStream(paramArrayOfByte);              zipInputStream = new ZipInputStream(byteArrayInputStream);              ZipEntry localZipEntry = zipInputStream.getNextEntry();              byte[] arrayOfByte = new byte[1024];              int i = -1;              while ((i = zipInputStream.read(arrayOfByte)) != -1)                  byteArrayOutputStream.write(arrayOfByte, 0, i);              str = byteArrayOutputStream.toString();          } catch (IOException localIOException7) {              str = null;          } finally {              if (zipInputStream != null)                  try {                      zipInputStream.close();                  } catch (IOException localIOException8) {                  }              if (byteArrayInputStream != null)                  try {                      byteArrayInputStream.close();                  } catch (IOException localIOException9) {                  }              if (byteArrayOutputStream != null)                  try {                      byteArrayOutputStream.close();                  } catch (IOException localIOException10) {              }          }          return str;      }  }  

轉自【http://www.open-open.com/lib/view/open1374372029683.html】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.