我有一个byteArrayInputStream,我正在读int i = bais.read(...)
让我们说它返回0.我有一个arraylist ArrayList(Byte) myStorage
(无法弄清楚如何把< -byte-> in代码标签)。我将i存储到myStorage
。像这样:myStorage.add((byte)i)
。什么得到的商店不是0而是48(ascii相当于0)。如何将0存储到字节数组中?我觉得有些蠢事......
答案 0 :(得分:2)
根据您的描述,bais.read()
返回48,即'0'
,而不是0.如果要将数字字符解码为其数字值,可以使用Character.digit(digit, radix)
方法
除非“bais.read(...)
”,否则表示您正在调用read()
方法的一个或三个参数重载。在这种情况下,i
将包含读入您传递的缓冲区的字节数。