本帖最后由 阳永衡 于 2012-11-12 11:33 编辑
葛旭东 发表于 2012-11-12 11:00
字节流是一个字节一个字节读取的,首字节可能为-1,导致循环停止。
可以先读取首字节,不管它是不是-1, ...
要是在中间又读到一个或多个-1 叻??你又在什么时候跳出??他返回的并不是你读到的字节,就算你读到了-1,他也不会返回-1,而是返回0。你可以这么理解,假设我们读到的数据是byte,他就会判断byte是否为null(没读到数据了,空格跟换行都有对应的字节对应,所以还是读到了数据),如果为null就返回-1。如果不能null,比如说读到了-1,那btye就不为null了,所以就返回0。那么0还是!=-1,所以while还会继续循环。 |