2

私のサーブレットには、次のコードがあります。

BufferedReader br = request.getReader();
char[] buff = new char[request.getContentLength()]; 
int i = br.read(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 に答える