【发布时间】:2015-10-27 23:44:27
【问题描述】:
我只是使用
IOUtils.copy(myInputStream, myOutputStream);
而且我看到在调用 IOUtils.copy 之前输入流可以读取,之后不可以读取。
flux.available()
(int) 1368181 (before)
(int) 0 (after)
我看到了对此post 的一些解释,我看到我可以将bytes 从我的InputStream 复制到ByteArrayInputStream,然后使用mark(0) 和read(),以便多次阅读输入流。
这是生成的代码(正在运行)。 我发现这段代码非常冗长,我想知道是否有更好的解决方案。
ByteArrayInputStream fluxResetable = new ByteArrayInputStream(IOUtils.toByteArray(myInputStream));
fluxResetable.mark(0);
IOUtils.copy(fluxResetable, myOutputStream);
fluxResetable.reset();
【问题讨论】:
标签: java inputstream