如何修复BufferedInputStream的重置为无效标记错误?

时间:2017-03-03 06:30:55

标签: java

我已经阅读了类似的网页,说明为什么会发生这种情况,但其中没有一个实际上已经解释了如何解决这个问题。

我的程序正在将字节数组转换为.wav文件,字节数组中有大约200万个值。

exec

1 个答案:

答案 0 :(得分:0)

调用readLimit时使用较大的mark()。如有必要,可以相应地增加传递给BufferedInputStream构造函数的缓冲区大小。默认值是未记录的,但目前为8192。

然而,在您的情况下,BufferedInputStream周围的ByteArrayInputStream完全没有意义,应该删除。 ByteArrayInputStreams已标记,可以支持任意数量的重置。