众所周知,Java 在声明时分配数组的大小。这意味着如果我这样定义数组:
byte[] buffer = new byte[10];
buffer.length
将返回 10。但是,我的问题是,我怎样才能找出填充了多少元素。我从 InputStream
填充元素,所以我永远不知道那里会有多少元素。
我知道分配的空数组位置将为 0
,但是如果我也从 InputStream
获得零值,并与正常值混合在一起怎么办?
最佳答案
你不能。只需将您读取的字节数存储在一个变量中。 InputStream.read()
返回读取的字节数:
Returns:
the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
关于java - 如何获取字节数组中的元素数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32164767/