welcom.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="zip">压缩大小></a>
</body>
</html>
ZipServlet.java:
package text.web.servlet;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ZipServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String str = "台风“利奇马”于2019年8月4日15时许获得日本气象厅命名,8月7日5时许被中央气象台升格为台风 [2] ,8月7日23时许被中央气象台进一步升格为超强台风,并继续向西北方向移动,向浙江沿海靠近; [3] 8月8日下午17时,“利奇马”强度已超过2019年2号台风“蝴蝶”,成为2019年风王。 [4] 8月10日1时45分前后,台风“利奇马”的中心在浙江省温岭市沿海登陆,陆时中心附近最大风力有16级(52米/秒),中心最低气压930百帕。 [5] \r\n" +
"2019年8月10日凌晨1点45分前后在浙江省温岭市沿海登陆,登陆时中心附近最大风力16级(52米/秒),这不仅是2019年以来登陆中国最强台风,也成为1949年以来登陆浙江第三强的台风 [6] ;9时,台风“利奇马”减弱为强热带风暴级,地点在浙江省金华市磐安县境内 [7] ;8月10日20时在浙江省湖州市南浔境内减弱为热带风暴级 [8] 。11日20时50分前后,台风“利奇马”再次登陆山东青岛 [9] ;截至8月12日16时,已造成897万人受灾 [10] 。\r\n" +
"截至2019年8月12日5时50分,山东省因灾死亡5人、失踪7人 [11] ;截至2019年8月12日10时,浙江省因灾死亡38人,因灾失踪10人。 [12] ";
System.out.println(str.getBytes().length);
//返回字节长度
//输出流 从内存到内存
//压缩文件之后 大小 gzip
ByteArrayOutputStream os = new ByteArrayOutputStream();
GZIPOutputStream zip = new GZIPOutputStream(os);
zip.write(str.getBytes());
zip.close();
os.close();
System.out.println(os.toByteArray().length);
//压缩后的字节长度
//os是通道,关闭后信息仍在存储在内存中,可以继续访问,是唯一一个关闭后还能访问的
//如果没把zip关闭,他会一边压缩一边输出,因为用的多个线程进行压缩,因为运行的速度远远快于压缩的速度,所以出来的字节长度狠短
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

2万+

被折叠的 条评论
为什么被折叠?



