public final class ZipUtil { public static String CompressToBase64(String string){ try { ByteArrayOutputStream os = new ByteArrayOutputStream(string.length()); GZIPOutputStream gos = new GZIPOutputStream(os); gos.write(string.getBytes()); gos.close(); byte[] compressed = os.toByteArray(); os.close(); String result = Base64.encodeToString(compressed, Base64.DEFAULT); return result; } catch (IOException e) { e.printStackTrace(); } catch (Exception ex){ } return ""; } public static String DecompressToBase64(String textToDecode){ //String textToDecode = "H4sIAAAAAAAAAPNIzcnJBwCCidH3BQAAAA==\n"; try { byte[] compressed = Base64.decode(textToDecode, Base64.DEFAULT); final int BUFFER_SIZE = 32; ByteArrayInputStream inputStream = new ByteArrayInputStream(compressed); GZIPInputStream gis = new GZIPInputStream(inputStream, BUFFER_SIZE); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] data = new byte[BUFFER_SIZE]; int bytesRead; while ((bytesRead = gis.read(data)) != -1) { baos.write(data, 0, bytesRead); } return baos.toString("UTF-8"); } catch (IOException e) { e.printStackTrace(); } catch (Exception ex){ } return ""; } }
时间: 2024-10-27 12:59:44