public static String converByteToString(byte[] data) { ByteArrayInputStream byteInput = null; GZIPInputStream gzin = null; ByteArrayOutputStream byteOutput = null; String data = null; byte[] byteData = null; byte[] buf = new byte[1024]; try { byteInput = new ByteArrayInputStream(zippedData); gzin = new GZIPInputStream(byteInput); byteOutput = new ByteArrayOutputStream(); int num = -1; while ((num = gzin.read(buf, 0, buf.length)) != -1) { byteOutput.write(buf, 0, num); byteOutput.flush(); } byteData = byteOutput.toByteArray(); if (null != byteOutput) { byteOutput.close(); } if (null != byteInput) { byteInput.close(); } if (null != gzin) { gzin.close(); } data = new String(byteData, "UTF-8"); } catch (IOException e) { log.error("[CrabmanFileUtil.converZipToString] [{0}]",e.getMessage()); return null; }finally{ byteInput = null; gzin = null; byteOutput = null; buf = null; byteData = null; } return data; } public static byte[] converStringToByte(String str) { ByteArrayOutputStream byteOutput = null; GZIPOutputStream gzout = null; byte[] data = null; try { byteOutput = new ByteArrayOutputStream(); gzout = new GZIPOutputStream(byteOutput); gzout.write(str.getBytes("UTF-8")); gzout.finish(); data = byteOutput.toByteArray(); } catch (IOException e) { log.error(e.getMessage()); return null; } finally{ try { if (gzout != null) { gzout.close(); } if (byteOutput != null) { byteOutput.close(); } } catch (IOException e) { e.printStackTrace(); gzout = null; byteOutput = null; } } return data; }
原文地址:http://blog.csdn.net/u012516914/article/details/38871993