Socket通信里面,在得到另一端输入流的时候,我用InputStream的read()方法来读取(没有套用其他高级流),就遇到问题了.它读不到流的末尾,因此一直阻塞.
具体是这样
int i=0;
while((i=stream.read())!=-1)
{
   buffer.append((char)i);
}如果我用一个缓冲字节数组来读,用read(b[], 0, len),因为可以充满缓冲数组,所以没有阻塞
byte[] b = new byte[1024];
stream.read(b);而下面的方法和上面用read读是一个道理
byte[] b = new byte[64];
while((i=stream.read(b))!=-1)
{
  buffer.append(new String(b));
}现在小弟有个问题求教各路大哥大姐,假如我的输入流字节数不确定,它有可能会超过我的缓冲数组大小,那么我该如何来读取这个输入流中的信息?
假如我就指定byte数组大小为64,那肯定装不完某个输入流中的内容
就是说,怎么样才能不需要指定字节多少,来读取完Socket中的所有内容,而不会因为读不到末尾而引起阻塞(读取中的阻塞不算)