gpt4 book ai didi

java - 两次读取输入流

转载 作者:IT老高 更新时间:2023-10-28 11:21:41 25 4
gpt4 key购买 nike

你如何两次读取相同的输入流?有办法复制吗?

我需要从网络获取图像,将其保存在本地,然后返回保存的图像。我只是认为使用相同的流而不是为下载的内容启动一个新流然后再次读取它会更快。

最佳答案

您可以使用 org.apache.commons.io.IOUtils.copy将 InputStream 的内容复制到字节数组中,然后使用 ByteArrayInputStream 从字节数组中重复读取。例如:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
org.apache.commons.io.IOUtils.copy(in, baos);
byte[] bytes = baos.toByteArray();

// either
while (needToReadAgain) {
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
yourReadMethodHere(bais);
}

// or
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
while (needToReadAgain) {
bais.reset();
yourReadMethodHere(bais);
}

关于java - 两次读取输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501237/

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