InputStream类的int read(byte buffer[])的异常?
小弟有段程序网络传数据代码如下:
byte abyte0[] = new byte[4];
inputstream.read(abyte0); //第一次读取
//处理程序.....
inputstream.read(abyte0); //第二次读取
当我第二次读取的时候就会卡死.直到最后报错.请问如果用异常处理这个问题?
另外我这个程序是用的线程处理.如何让此程序在第二次读取时能自动发现不能再读取并自动跳过第二次读取???????
------解决方法--------------------------------------------------------
判断read方法的返回值阿
if(inputstream.read(abypte0) <0){
.....
}
另外可以增加队、abyte0的判断,比如说唯空之类的
------解决方法--------------------------------------------------------
read的返回值是你此次读到的字节数,如果读到的字节数小于你作为参数传入的字节数组的大小,就证明已经读完了数据
int n = inputStream.read(abyte0);
if(n<abypte0)
------解决方法--------------------------------------------------------
使用循环while(),在循环里加try{}块。可以忽略异常