牛骨文教育服务平台(让学习变的简单)
博文笔记

Java网络编程中inputStream.available()的使用方法

创建时间:2007-11-21 投稿人: 浏览次数:18523

如果服务器发来的字节流没有作任何标记,只是在发完一次数据后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();
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。