0

我有一个 byteArrayInputStream,我正在读取int i = bais.read(...) 它假设它返回 0。我有一个ArrayList(Byte) myStorage数组列表(无法弄清楚如何将 <-byte-> 放入代码标签中)。我将 i 存储到myStorage. 像这样:myStorage.add((byte)i)。得到的存储不是 0 而是 48(ascii 相当于 0)。我怎样才能将 0 存储到字节数组中?我认为有些愚蠢的事情正在发生......

4

1 回答 1

2

根据您的描述,bais.read()返回 48,即'0',而不是 0。如果要将数字字符解码为其数值,可以使用该Character.digit(digit, radix)方法。

除非通过“ bais.read(...)”,否则您的意思是您正在调用该方法的一个或三个参数的重载read()。在这种情况下,i将包含读入您传递的缓冲区的字节数。

于 2013-10-11T18:29:42.800 回答