javadoc说了以下内容。
Parameters:
b - destination buffer.
off - offset at which to start storing bytes.
len - maximum number of bytes to read.
我想确认一下我对“开始存储字节的偏移量”的理解。这是否意味着off
是“目标缓冲区b
处开始存储字节的索引”?它听起来像off
意味着它。我认为如果off
是“在BufferedInputStream处开始读取字节的偏移量”,则该方法更有用,但我想确认一下。我试着查看源代码,但很难阅读。
一个附带问题:当读取1024个字节的流时,是否总是从流中删除所述的1024个字节?
答案 0 :(得分:1)
是。 off
是b
中的索引,其中流将开始输入len
个字节。
当读取1024字节的流时,是否总是从流中删除所述1024字节?
使用InputStream
,你不知道底下发生了什么。您所知道的是您可以使用的方法以及它们的作用(他们的文档说明了)。实现可以做任何他们想做的事情。
答案 1 :(得分:1)
这是否意味着off是“目标缓冲区b处开始存储字节的索引”?
它是documented:“读取的第一个字节存储在元素b[off]
中。”
当读取1024字节的流时,是否总是从流中删除所述1024字节?
当然,但是如果你提供1024字节的缓冲区,你似乎真的要问是否总会读取1024个字节。答案是否定的。它是documented:“尝试读取至少一个字节”。