这个javaio读这两个为什么第一个!length=-1,错了,第二个对了

想不明白啊,为什么第一个错了第二个对了⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯图片说明图片说明

如果文件没有内容,read(byte[])这个返回长度0,不会报错。但是read就不行。

没看出什么问题,第一个程序被遮住的那行怎么写的,文件里有内容么?