2

在我的 servlet 中,我有以下代码:

BufferedReader br = request.getReader();
char[] buff = new char[request.getContentLength()]; 
int i = br.read(buff);

buff 的长度是 55453 但 i 的值是 7618,知道为什么会被切断吗?

4

1 回答 1

0

BufferedReader 似乎只读取了请求的一部分。尝试这样的事情:

char[] buff = new char[request.getContentLength()];
while (int i = br.read(buff) != -1) {
  // process buff
}

所以 7618 似乎是您从请求对象中获得的缓冲区的大小。

于 2013-01-08T14:25:29.553 回答