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吗? 展开
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吗? 展开
1个回答
展开全部
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是系统默认的一个标志符
2.声明int b=fileIn.read()只是让b取到了第一个读入的字符,后面的字符需要通过循环操作来进行
3.-1的意思就是取到最后一个字符的下一个,即为空,通过这样的方式来判断是否已经读到最后一个字符,不可以是-2,-1是系统默认的一个标志符
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询