关于IO的InputStreamReader和System.in的疑问??

chenqipc 2012-05-24 03:30:42
本人正在学习IO的部分,看了马士兵的这一节视频,有点不明白,求各位大神帮小弟一下。
import java.io.*;
public class TestInoutStreamReader {
public static void main(String [] args) {
InputStreamReader isr;
BufferedReader br;
try {
isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
String s = br.readLine();
while(s!=null) {
System.out.println(s);
s = br.readLine();
}
br.close();
} catch(IOException i) {
i.printStackTrace();
}
}
}
System.in 并没有在循环里,为什么可以连续输入啊???
...全文
142 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rushly 2012-05-24
  • 打赏
  • 举报
回复
遇到问题可以打个断点调试嘛 一看就懂了
rushly 2012-05-24
  • 打赏
  • 举报
回复
你敲回车才执行br.readLine()这句的
rushly 2012-05-24
  • 打赏
  • 举报
回复
            String s = br.readLine();
while(s!=null) {
System.out.println(s);
s = br.readLine();
}

br.readLine()是阻塞的,当你不输入任何等下,程序会停在br.readLine这里,就没有读到等下不会往下走。
所以正常运行过程中s=br.readLine() 这个s不会为null

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧