Java网络编程中inputStream.available()的使用方法
如果服务器发来的字节流没有作任何标记,只是在发完一次数据后flush(),则在客户端可以用inputStream.available()来判断流的长度,但一定要在调用read()至少一次之后,不然就只能得到零值。
实例代码如下:
//通过BLOB对象获得一个InputStream
InputStream input = imageblob.getBinaryStream();
// ServletOutputStream用来传输数据,
OutputStream out = response.getOutputStream();
int firstChar = input.read();
int length = input.available();
//将其转换成二进制数据
byte[] image = new byte[length];
image[0] = (byte)firstChar;
int len = 0;
while ((len = input.read(image,1,length-1)) != -1) ...{
out.write(image, 0, len);
}
out.flush();
out.close();
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。

while ((len = input.read(image,1,length-1)) != -1) ...{