아래와 같은 항목을 실행시키면 반드시 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence. 에러가 발생했다.

InputStream stream = method.getResponseBodyAsStream(); InputSource inputSource = new InputSource(stream); String contents = xPathExpression.evaluate(inputSource);

자바 IO에서는 두 가지 방법을 제공하고 있는데, 하나는 stream 구조로1byte 기반이며, 두 번째는 write, reader로 이는 2byte 기반이라고 한다. 곧 reader를 대신 사용하면 해결이 된다는 이야기이다.

InputStream stream = method.getResponseBodyAsStream(); InputStreamReader reader = new InputStreamReader(stream); InputSource inputSource = new InputSource(reader); String contents = xPathExpression.evaluate(inputSource);

이 코드는 아무 에러없이 잘 동작한다.

powered by Moniwiki | themed by clockoon
last modified 2009-03-08 12:51:13
Processing time 0.2952 sec