글쓴이 :김덕태 1998년 1월 05일 18:37:07
In Reply to: [소개] "Java와 한글" - 게시판 posted by 김필호 on 1998년 1월 01일 13:58:01:
remove... 라는 메쏘드는 불필요한 것 같군요.
자바 1.1 환경에서는 DataInputStream의 readLine 메쏘드 대신
BufferedReader의 readLine 메쏘드를 사용하면 그런 문제가 생기지 않으며,
일반적인 경우 이 방법이 가장 적절합니다.
또한, BufferedReader를 쓰지 않고 DataInputStream의 readLine을 사용하고자 할 경우,
8859_1 문자로 잘못 변환된 문자열을 원래의 바이트 배열로 되돌린 후
다시 유니코드의 문자열로 바꾸어주게 되면 제대로 한글을 제대로 볼 수 있습니다.
이와 같은 방법은 문자 변환이 잘못된 문자열을 복구하는 데
자바 1.1 환경에서 많이 쓰일 수 있는 간단하면서 일반적인 방법입니다.
remove... 메쏘드를 호출하는 부분을 다음과 같이 바꾸어주어도 동일한 효과를 같습니다.
// line2 = remove_high_ksc5601(line);
// ======>
line2 = "";
try
{ line2 = new String(line.getBytes("8859_1"));
} catch (java.io.UnsupportedEncodingException e)
{ System.err.println(e.toString());
}