BufferedInputStream读取与IOUtils toByteArray

时间:2016-12-20 01:42:47

标签: java servlets inputstream

我最近尝试过从inputStream读取数据。

int length = getHeader("Content-Length");
byte[] buffer = new byte [length];    
BufferedInputStream stream = new BufferedInputStream (servletRequest.getInputStream());    
stream.read(buffer);

它以某种方式截断了我的数据。当我试着跟随

buffer = IOUtils.toByteArray(servletRequest.getInputStream());

完美无缺。

有人可以告诉我可能出现的问题吗?

1 个答案:

答案 0 :(得分:2)

@Gaurav_Joshi

带有一个参数InputStream的BufferedInputStream构造函数使用DEFAULT_BUFFER_SIZE,它可能小于输入流的实际大小。

public BufferedInputStream(InputStream in) {
    this(in, DEFAULT_BUFFER_SIZE);
}