国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
字符串壓縮?java

package unzip;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import java.util.zip.*;

// 將一個字符串按照zip方式壓縮和解壓縮
public class ZipUtil {

  // 壓縮
  public static String compress(String str) throws IOException {
    if (str == null || str.length() == 0) {
      return str;
    }
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    GZIPOutputStream gzip = new GZIPOutputStream(out);
    gzip.write(str.getBytes());
    gzip.close();
    return out.toString("ISO-8859-1");
  }

  // 解壓縮
  public static String uncompress(String str) throws IOException {
    if (str == null || str.length() == 0) {
      return str;
    }
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ByteArrayInputStream in = new ByteArrayInputStream(str.getBytes("ISO-8859-1"));
    GZIPInputStream gunzip = new GZIPInputStream(in);
    byte[] buffer = new byte[256];
    int n;
    while ((n = gunzip.read(buffer)) >= 0) {
      out.write(buffer, 0, n);
    }
    // toString()使用平臺默認編碼,也可以顯式的指定如toString("GBK")
    return out.toString("ISO-8859-1");
  }

 
  public static final byte[] compress1(String str) {
  if(str == null)
  return null;
   
  byte[] compressed;
  ByteArrayOutputStream out = null;
  ZipOutputStream zout = null;
   
  try {
  out = new ByteArrayOutputStream();
  zout = new ZipOutputStream(out);
  zout.putNextEntry(new ZipEntry("0"));
  zout.write(str.getBytes());
  zout.closeEntry();
  compressed = out.toByteArray();
  } catch(IOException e) {
  compressed = null;
  } finally {
  if(zout != null) {
  try{zout.close();} catch(IOException e){}
  }
  if(out != null) {
  try{out.close();} catch(IOException e){}
  }
  }
   
  return compressed;
  }
   
 
  public static final String decompress(byte[] compressed) {
  if(compressed == null)
  return null;
   
  ByteArrayOutputStream out = null;
  ByteArrayInputStream in = null;
  ZipInputStream zin = null;
  String decompressed;
  try {
  out = new ByteArrayOutputStream();
  in = new ByteArrayInputStream(compressed);
  zin = new ZipInputStream(in);
  ZipEntry entry = zin.getNextEntry();
  byte[] buffer = new byte[1024];
  int offset = -1;
  while((offset = zin.read(buffer)) != -1) {
  out.write(buffer, 0, offset);
  }
  decompressed = out.toString();
  } catch (IOException e) {
  decompressed = null;
  } finally {
  if(zin != null) {
  try {zin.close();} catch(IOException e) {}
  }
  if(in != null) {
  try {in.close();} catch(IOException e) {}
  }
  if(out != null) {
  try {out.close();} catch(IOException e) {}
  }
  }
   
  return decompressed;
  }

  // 測試方法
  public static void main(String[] args) throws IOException {
   System.out.println("starttime="+ZipUtil.compress("starttime"));
   String s=ZipUtil.compress("starttime");
   System.out.println(s);
    System.out.println(ZipUtil.uncompress(s));
    System.out.println("starttime="+ZipUtil.compress1("starttime"));
    System.out.println("starttime="+ZipUtil.decompress(ZipUtil.compress1("starttime")));
  }

}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
snippets/438843 | CODE
String和InputStream的轉(zhuǎn)換
java如何打開word文檔_如何在Java中打開和操作Word文檔/模板?
java 深度克隆
Java圖像傳輸方法
自己寫的一個JSP上傳文件和下載文件的JavaBean
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服