gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:43:25 31 4
gpt4 key购买 nike

我读过类似的页面,了解为什么会发生这种情况,但没有一个页面真正解释了如何解决此问题。

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

String uploadedFileLocation = "C:\\";
AudioInputStream source;
AudioInputStream pcm;
InputStream b_in = new ByteArrayInputStream(byteArray);
source = AudioSystem.getAudioInputStream(new BufferedInputStream(b_in));
pcm = AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, source);
File newFile = new File(uploadedFileLocation + fileName);
AudioSystem.write(pcm, AudioFileFormat.Type.WAVE, newFile);
source.close();
pcm.close();

最佳答案

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

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

关于java - 如何修复 BufferedInputStream 的重置为无效标记错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42572145/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com