重复读取InputStream

Posted 正怒月神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重复读取InputStream相关的知识,希望对你有一定的参考价值。

通过转换为 ByteArrayOutputStream 来实现

一 转换

将inputstream转换为ByteArrayOutputStream

public static ByteArrayOutputStream parse(final InputStream in) throws Exception 
        final ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
        int ch;
        while ((ch = in.read()) != -1) 
            swapStream.write(ch);
        
        return swapStream;
    

二 使用

在需要使用inputstream时,使用如下代码替代

new ByteArrayInputStream(byteArrayOutputStream.toByteArray())

 

 

以上是关于重复读取InputStream的主要内容,如果未能解决你的问题,请参考以下文章

实现http的request的inputStream重复读取

检查 InputStream 大小的问题 [重复]

怎么重复使用inputStream?

关于InputStream中的mark和reset重复利用缓存

InputStream中通过mark和reset方法重复利用缓存

让 InputStream 读取不止一次,不管 markSupported()