浏览器显示服务器传过来的大数据文件
private void encoding(HttpServletResponse response) throws IOException {
//通知浏览器,服务器发送的数据时压缩的,并且指定压缩的格式
response.setHeader("content-encoding", "gzip");
//将大数据压缩后,发送给浏览器
//准备大数据
StringBuilder builder = new StringBuilder();
for(int i = 0 ; i < 80000 ; i ++){
builder.append("abcd");
}
String data = builder.toString();
//确定压缩的位置
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//压缩 gzip
GZIPOutputStream gzip = new GZIPOutputStream(baos); //压缩的位置
//压缩数据
gzip.write(data.getBytes());
gzip.close();
//获得压缩后的字节数组
byte[] endData = baos.toByteArray();
//将压缩的数据发送给浏览器 --
response.getOutputStream().write(endData);
}
当浏览器提示下载数据,而不显示时
private void encoding(HttpServletResponse response) throws IOException {
//将大数据压缩后,发送给浏览器
//准备大数据
StringBuilder builder = new StringBuilder();
for(int i = 0 ; i < 80000 ; i ++){
builder.append("abcd");
}
String data = builder.toString();
//确定压缩的位置
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//压缩 gzip
GZIPOutputStream gzip = new GZIPOutputStream(baos); //压缩的位置
//压缩数据
gzip.write(data.getBytes());
gzip.close();
//获得压缩后的字节数组
byte[] endData = baos.toByteArray();
//将压缩的数据发送给浏览器 --
response.getOutputStream().write(endData);
}