码迷,mamicode.com
首页 > 其他好文 > 详细

FileInputStream read函数何时返回-1

时间:2020-01-16 12:28:21      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:pre   读取   except   nbsp   length   返回   ++   lse   throws   

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

标签:pre   读取   except   nbsp   length   返回   ++   lse   throws   

原文地址:https://www.cnblogs.com/SA226343/p/12200495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!