java中read方法的返回值

在ByteArrayInputStream中返回“下一个数据字节,如果到达流末尾,则返回 -1”。还是不太理解,能详细的说一下吗?
下一个数据字节指的是什么?
这和FileInputStream的返回值一样吗?图片说明图片说明

3个回答

  首先,InputStream是字节读取的,每次读取文件一个字节的数据,并将这个字节的数据转换Java的byte类型的一个整数返回,如果为-1说明读取不到数据了,即到达文件尾部了。read操作就是逐字节地读取数据,所以需要循环操作直到读到-1操作结束。其次,字节数据通常我们无法识别,所以都是转化成字符串来处理的。

字节流都是-1的时候就结束了读取,,具体的可以看下api

所有流的read都是一样的,流除了源不一样其他基本都一样的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐