字节缓冲流BufferedInputStream读取结束返回-1的不解之处
如下代码中:
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile)); int c; while((c = bis.read()) != -1) { bos.write(c); }
API中提示说 java.io.BufferedInputStream.read()
Returns:
the next byte of data, or -1 if the end of the stream is reached.
那么读取的字节如果是1111 1111 不就是-1?
这个字节如果是我们的数据,而不是文件读取结束标志呢?
为什么可以用-1来判定文件读取结束?