BufferedInputStream in = new BufferedInputStream(socket.getInputStream());
int c,i=0;
char[] byteArrary =new char[20];
while ((c=in.read())!=-1) {
byteArrary[i++]=(char)c;
if ((in.available())==0){
String in1=new String(byteArrary,0,i);
}
}
为什么available一开始就是0,当我发了5个字节过来的时候,available第一个0,然后3,2,1,0;我就是想把inputstream中的所以数据转换为字符串。而且为什么BufferedReader.readLine没用,一直在阻塞,是因为没有读到回车吗?
int c,i=0;
char[] byteArrary =new char[20];
while ((c=in.read())!=-1) {
byteArrary[i++]=(char)c;
if ((in.available())==0){
String in1=new String(byteArrary,0,i);
}
}
为什么available一开始就是0,当我发了5个字节过来的时候,available第一个0,然后3,2,1,0;我就是想把inputstream中的所以数据转换为字符串。而且为什么BufferedReader.readLine没用,一直在阻塞,是因为没有读到回车吗?