read的返回值

来源:4-5 字节缓冲流

Robin_Jang

2016-05-07 10:36

read()返回值是什么? 两个地方弄得很糊涂啊! int bytes = in.read(buf,0,buf.length); int j = 1; for(int i = 0; i < bytes;i++){ System.out.print(Integer.toHexString(buf[i] & 0xff)+"  "); } ------------------------------------------------------------- while((c = in.read())!=-1){ out.write(c); out.flush(); }

写回答 关注

5回答

  • 雨季忆
    2016-08-26 13:27:58

    read() 的返回值是int类型,返回语句是这样:return getBufIfOpen()[pos++] & 0xff;其中getBufIfOpen()是一个获取数组的方法 返回值是byte[]类型,而getBufIfOpen()返回的数组的索引是[pos++]其实指的就是下一个字节的内容!但是read()方法有一个if判断,如果没有内容了就返回-1,所以可以用于循环的判断条件!

  • 怒放的生命012
    2016-07-01 20:31:06

    while((c = in.read())!=-1){ out.write(c); out.flush(); 

    这里针对C ,c为什么又可以成为write的参数呢????c返回值不是应该代表读取的个数吗???如果c相当于读写的个数,那么c在wtite(c)中又代表什么意思呢???

    }

  • MaskTrueFeeling
    2016-06-22 23:38:13

    read(buf,0,buf.length)   返回的是读取字节的长度。
    read()   没参数的   返回的是指针对应的下一个字节。

    慕虎0571...

    看了那么多答案,就你的言简意赅,一语点醒。

    2019-02-15 13:17:34

    共 1 条回复 >

  • 小楼倚月听微风
    2016-06-12 14:15:00

    读取字节的长度

  • UKILC
    2016-05-07 13:30:43

    读取的次数

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题