问答详情
源自:4-2 字节流之文件输入流FileInputStream-2

in.read(buf, 0, buf.length)这个方法可能为-1吗

int read = in.read(buf, 0, buf.length);好疑惑,in.read(buf, 0, buf.length)这个方法不是一次性读完了嘛,怎么还有可能为-1呢??

提问者:qq_萍萍儿_0 2016-04-05 10:57

个回答

  • stt54321
    2016-04-20 15:10:30

    in.read(buf, 0, buf.length)这个方法不是一次性读完了嘛?

    首先对于你的这个理解是错误的,因为这个方法正确的理解是把文件内容的字节读入到字节数组buf中,但是文件内容的字节有可能大于字节数组buf的长度,那么文件内容就一次读不完。

    in.read(buf, 0, buf.length)这个方法可能为-1吗

    再来说说这个方法的返回值,这个方法返回的是实际读取到字节数组中的字节的数量。官方api明确指出,如果已经达到文件的末尾,返回值为-1.

  • 假面舞者1874
    2016-04-05 13:46:29

    就是相当于我们的文件结尾