InputStream is;public void run(){
while (true) {
System.out.println("true ");
StringBuffer sb = new StringBuffer();
System.out.println("c = 0");
int c = 0;
System.out.println("begin system");
System.out.println("is.read()"+is.read());
while (((c = is.read()) != '\n') && (c != -1)) {
sb.append((char)c);
}
System.out.println("跳出while(c )");
}
System.out.println("while close");
}
当我调用线程的start(),在控制台输出
true
c == 0
begin system
//System.out.println("is.read()"+is.read());
//这句没有执行,是不是因为没有数据的时候,流的读函数就无限时间的堵塞在那里,
//以至于System.out.println("跳出while(c )");都没有执行然后有数据的时候,控制台就输出 is.read()49
跳出while(c )
true
c == 0
begin system望解答
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货