首先这是个循环,结束条件是读到末尾返回-1的时候,比如楼主输入abc 看看执行流程吧: 由于是一个一个的读,所以先打印a,然后继续循环,可以发现循环条件成立,所以有输出依次类推输出了abc,从表面上看像是依次输出abc的,其实不然楼主改成System.out.println(a)看看执行结果就明白了 输出时 a b c
首先这是个循环,结束条件是读到末尾返回-1的时候,比如楼主输入abc 看看执行流程吧: 由于是一个一个的读,所以先打印a,然后继续read()此时读的就是b,循环成立,,所以又输出b,依次类推输出了c,从表面上看像是一下全部输出abc的,其实不然楼主改成System.out.println(a)看看执行结果就明白了 输出为 a b c
使用byte[]是一次读取一个数组长度的内容,减少读取的次数
看看执行流程吧:
由于是一个一个的读,所以先打印a,然后继续循环,可以发现循环条件成立,所以有输出依次类推输出了abc,从表面上看像是依次输出abc的,其实不然楼主改成System.out.println(a)看看执行结果就明白了
输出时
a
b
c
看看执行流程吧:
由于是一个一个的读,所以先打印a,然后继续read()此时读的就是b,循环成立,,所以又输出b,依次类推输出了c,从表面上看像是一下全部输出abc的,其实不然楼主改成System.out.println(a)看看执行结果就明白了
输出为
a
b
c