while((bytes=fis1.read(buf, 0, buf.length))!=-1)
每次读取buf数组长度的数据,当读到文件末尾时,因为二进制流读取是读0或1,当读到-1时说明文件已经读到末尾,此时文件读取完毕。上面的循环就是在反复读取文件,直到读到文件末尾的-1,文件读完。
每判断一次while循环的条件,就会对文件进行一次读取(保存在缓冲数组中),直到最后,文件读取完毕,bytes==-1,循环结束……