POST 메서드를 통해 큰 JSON 문자열 (> 10,000 자)을받는 서블릿이 있습니다.서버가 전체 내용을 읽을 수 없습니다.
이 같은 요청의 내용을 읽을 경우 : 내가 전체 콘텐츠를하지는
try(Reader reader = new InputStreamReader(new BufferedInputStream(request.getInputStream()), StandardCharsets.UTF_8))
{
char[] buffer = new char[request.getContentLength()];
reader.read(buffer);
System.out.println(new String(buffer));
}
을! 버퍼 크기가 정확합니다. 그러나 생성 된 문자열의 길이는 그렇지 않습니다.
하지만 난 이런 식으로 할 경우 : 그것은 완벽하게 작동
try(BufferedInputStream input = new BufferedInputStream(request.getInputStream()))
{
byte[] buffer = new byte[request.getContentLength()];
input.read(buffer);
System.out.println(new String(buffer, StandardCharsets.UTF_8));
}
.
첫 번째 경우에 내가 잘못 되었습니까?