java 流问题

FileInputStreamfileIn=newFileInputStream(“c:\\test.txt”);intb=fileIn.read();while((b=... FileInputStream fileIn=new FileInputStream(“c:\\test.txt”);
int b=fileIn.read();
while((b=fileIn.read())!=-1){
System.out.print((char)b);
}----------------------------------------------------------------------1:为什么直接写while(b=-1)或while((fileIn.read())!=-1)都不行,而一定要while((b=fileIn.read())!=-1),不是已经声明int b=fileIn.read()了吗?2:为什么一定要要等于-1?这个数字什么意思?不可以等于-2吗?
展开
 我来答
shanyucha
2011-05-27 · TA获得超过591个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:167万
展开全部
1.while(b=-1)的流程就是把-1赋给b,那么while表达式的判断条件就恒为-1,只要while表达式的内容不为0,那么while循环会永远执行下去,陷入死循环。while((fileIn.read())!=-1)的话b就取不到当前输入输出流的字符了,下面的输出就没有内容了
2.声明int b=fileIn.read()只是让b取到了第一个读入的字符,后面的字符需要通过循环操作来进行
3.-1的意思就是取到最后一个字符的下一个,即为空,通过这样的方式来判断是否已经读到最后一个字符,不可以是-2,-1是系统默认的一个标志符
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式