当读取由http 请求发送过来的数据时,经常发生读取不完整的问题,原因在于http请求是应答式协议。连接不是一直不断的,而是续续断断的,如果用以下代码读取,将可能发生刚所说的问题:

InputStream in = request.getInputStream();
byte[] b=new byte[request.getContentLength()];
in.read(b);

当传输的内容足够大时候,就会发生读取不完整的问题,我做过多次测验,大小大概是7.2KB 的样子,在这个值的附近及大于这个值,就会发生读取不完整情况。

解决办法就是一个字节一个字节的读取。