Java ByteArrayInputStream.read结果保存在字节数组中 - 保存ASCII值

时间:2013-10-11 18:25:03

标签: java

我有一个byteArrayInputStream,我正在读int i = bais.read(...)让我们说它返回0.我有一个arraylist ArrayList(Byte) myStorage(无法弄清楚如何把< -byte-> in代码标签)。我将i存储到myStorage。像这样:myStorage.add((byte)i)。什么得到的商店不是0而是48(ascii相当于0)。如何将0存储到字节数组中?我觉得有些蠢事......

1 个答案:

答案 0 :(得分:2)

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

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