在用java实现文件复制的时候,(len=in.read(bytes))!=-1为什么必须判断!=-1,这个判断的具体意思是什么

2024-12-02 17:33:38
推荐回答(3个)
回答1:

public int read(byte[] b)
这个方法是从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中
它是有返回值的,它返回读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1
就是当它返回-1的时候 数据已经复制完了 while循环终止程序结束

回答2:

这个是读取一个文件中的数存入bytes中在将bytes中的每一个分别赋值给len。如果还有值,那么len就不等于-1,那么就会循环的继续读取,直到读取完值为止。

回答3:

read返回值是读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1.意思是已经到达末尾.