FileInputStream read函数何时返回-1
Posted sa226343
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FileInputStream read函数何时返回-1相关的知识,希望对你有一定的参考价值。
read函数,返回-1
例子:三个字节(1,2,3)的文件,每次读两个字节,第三次才会返回-1,
第一次读取到的是 (1,2),read返回 len = 2;
第二次读取到的是(3,2), read返回 len = 1;
第三次读取到的是(3,2), read返回 len = -1;
read源码:
public int read(byte[] b) throws IOException { int getData = read(); if (getData==-1) { return -1; }else{ b[0] = (byte)getData; for (int i = 1; i < b.length; i++) { getData = read(); if(-1==getData) return i; b[i] = (byte)getData; } } return b.length; }
以上是关于FileInputStream read函数何时返回-1的主要内容,如果未能解决你的问题,请参考以下文章
java 关于FileReader和FileInputStream里的read()方法
c#SslStream的read()函数如何知道何时返回0?
Java FileInputStream.read() 打印时显示不需要的字符
Stream Closed at java.io.FileInputStream.read0(Native Method)