在ByteArrayInputStream中返回“下一个数据字节,如果到达流末尾,则返回 -1”。还是不太理解,能详细的说一下吗?
下一个数据字节指的是什么?
这和FileInputStream的返回值一样吗?
首先,InputStream是字节读取的,每次读取文件一个字节的数据,并将这个字节的数据转换Java的byte类型的一个整数返回,如果为-1说明读取不到数据了,即到达文件尾部了。read操作就是逐字节地读取数据,所以需要循环操作直到读到-1操作结束。其次,字节数据通常我们无法识别,所以都是转化成字符串来处理的。
字节流都是-1的时候就结束了读取,,具体的可以看下api
所有流的read都是一样的,流除了源不一样其他基本都一样的