原来是获得输出流的数据之前,需要将gzip关闭。
另外,我上面说的压缩到16,是因为之前出现异常,所以才那么小。其实应该是8百多
public static String GetCompress(String src)
{
if (src == null || src.isEmpty()) {
return src;
}
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = null;
String des = null;
try { 2015幼儿园教师节活动方案
gzip = new GZIPOutputStream(out);
gzip.write(src.getBytes());
//由于压缩后的数据需要传输,所以用了BASE64编码
//des = new BASE64Encoder().encode(out.toByteArray()); //原先在这个获得压缩数据
} catch (IOException e) {
e.printStackTrace();
}finally{
if(gzip!=null)
{
try {
gzip.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return new BASE64Encoder().encode(out.toByteArray());//最终改成这里获得压缩数据
}