InputStreamReader를 사용하여 파일의 문자를 읽고 StringBuilder에 추가하는 것이 일반적인 패턴입니다. 그것을 할 수있는 확실한 방법은 같은 것입니다 : 그러나appendCodePoint에서 InputStreamReader를 사용해야합니까?
int c = reader.read();
sb.append((char)c);
, '아무튼 그 (엄격히 코드 포인트를 말하기) 문자를 포함했다 (이 차이가 있는지 우리가 UTF-8 인코딩을 지정 가정) 파일을 랬 16 비트로 맞 춥니 다. 독자가이를 16 비트 문자 쌍 대신 단일 32 비트 코드 포인트로 반환하겠습니까?
그렇다면, 실제로 위의 마지막 줄 같이 읽어야
sb.appendCodePoint(c);
알려진 테스트 케이스 있는가 - UTF-8 바이트 시퀀스 - 두 가지 옵션을 구분할 것인가?
별로 일반적이지 않습니다. 대부분의 코드는 실제로 버퍼를 읽거나 라인을 읽습니다. – EJP