public static void main(String[] args) throws IOException {
// String tmp = "x%DAKLJNIMK%CF%C8%CC%CA%CE%01%00%1E%B8%04%CF";
// String decodeTmp = URLDecoder.decode(tmp,"ISO-8859-1");
// System.out.println(decompress(decodeTmp));
String s = "abksdgl;dfhksda";
String c = compress(s);
System.out.println(decompress(c));
}
public static String decompress(String data) throws UnsupportedEncodingException {
return decompress(data,"ISO-8859-1");
}
public static String decompress(String data, String charset) throws UnsupportedEncodingException {
byte[] bytes = data.getBytes(charset);
byte[] output = new byte[0];
Inflater decompresser = new Inflater();
decompresser.reset();
decompresser.setInput(bytes);
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length);
try {
byte[] buf = new byte[1024];
while (!decompresser.finished()) {
int i = decompresser.inflate(buf);
baos.write(buf, 0, i);
}
output = baos.toByteArray();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
decompresser.end();
return new String(output);
}
public static String compress(String data) throws UnsupportedEncodingException {
return compress(data,"ISO-8859-1");
}
public static String compress(String data, String charset) throws UnsupportedEncodingException {
byte[] compress = new byte[0];
byte[] bytes = data.getBytes(charset);
Deflater compresser = new Deflater();
compresser.reset();
compresser.setInput(bytes);
compresser.finish();
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length);
try {
byte[] buf = new byte[1024];
while (!compresser.finished()) {
int i = compresser.deflate(buf);
baos.write(buf, 0, i);
}
compress = baos.toByteArray();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
compresser.end();
return new String(compress,charset);
}
java 解压缩程序
最新推荐文章于 2021-02-24 23:49:52 发布