1. 使用getOutputStream输出二进制字节流:
1) 有时相对浏览器输出的直接是一个文件资源而不是HTML等字符串文档,此时就需要使用HttpServletResponse的getOutputStream进行字节流输出;
2) 输出过程:
i. ServletOutputStream HttpServletResponse.getOutputStream(); // 获取一个ServletOutputStream对象,可以用来输出
ii. ServletOutputStream有一系列方法输出二进制字节流,总体来说有两类,一类是print,另一类是println,都分别重载输出boolean、char、int、double、float、long、String这些基本类型的方法,只不过它们都是以二进制的格式输出的,想要读取它们也必须以二进制的方式读取,否则得到的只会是乱码;
iii. 由于ServletOutputStream继承自OutputStream,因此可以用OutputStream对象引用来接受getOutputStream返回的对象,可以直接使用OutputStream的write方法大批量写数据:
a. void OutputStream.write(byte[] b); // 写b.length个字节
b. void OutputStream.write(byte[] b, int off, int len); // 从b[off]开始写,写len个字节
c. 当然write也提供了只写一个int的版本:void OutputStream.write(int b);
!