猿问

您好,求教关于java中输入输出流read函数的问题

int b=System.in.read(buffer)
其中buffer是一个字节数组,得到的b的数值不是应该是-1吗,因为输入流中的内容读到末尾了啊
另外
while((int b=in.read(buffer,0,25))!=-1) {String s=new String(buffer,0,b);System.out.print(s);} 
这一段代码是个循环语句,为什么最后只输出一个S呢,我觉得应该是每一次循环read会读一个字节,然后输出一个S,应该有好多S啊
求大神帮助 对read函数返回值的流程是在不清楚

BIG阳
浏览 218回答 2
2回答

DIEA

只输出一个S说明只循环了一次,就是读了一个字节就到末尾了
随时随地看视频慕课网APP
我要回答