我有一个 byteArrayInputStream,我正在读取int i = bais.read(...)
它假设它返回 0。我有一个ArrayList(Byte) myStorage
数组列表(无法弄清楚如何将 <-byte-> 放入代码标签中)。我将 i 存储到myStorage
. 像这样:myStorage.add((byte)i)
。得到的存储不是 0 而是 48(ascii 相当于 0)。我怎样才能将 0 存储到字节数组中?我认为有些愚蠢的事情正在发生......
问问题
162 次
1 回答
2
根据您的描述,bais.read()
返回 48,即'0'
,而不是 0。如果要将数字字符解码为其数值,可以使用该Character.digit(digit, radix)
方法。
除非通过“ bais.read(...)
”,否则您的意思是您正在调用该方法的一个或三个参数的重载read()
。在这种情况下,i
将包含读入您传递的缓冲区的字节数。
于 2013-10-11T18:29:42.800 回答