[자바 질문] 자바 스트링 처리
반혈
자바가 유니코드로 문자열을 다루는 것은 알고 있는데요.
파일에서 문자열을 읽어들여서(한글 파일-UTF-8 인코딩 사용)프로그램 내에서 몇 가지 처리를 합니다.
그리고 콘솔로 출력되는 것을 대신해서
메모리에 있는 문자열들을 StringWriter 클래스를 사용해서
텍스트 필드(TextField)에 뿌릴려고 하는데...
한글이 깨집니다.
몇몇 문서를 봤는데, 자바가 입출력할 때, 기본적으로 바이트 스트림으로 문자열을 변경하더군요.
그럼 Charset 클래스를 사용해서 문자열 디코더를 생성해야 하는지 궁금합니다.
//출력함수
public void showout(){
StringWriter stringWriter = new StringWriter(); RDFWriter writer = model.getWriter(RDF/XML-ABBREV);
writer.setProperty(tab, 4);
writer.setProperty(xmlbase, baseNs);
writer.setProperty(relativeURIs, same-document);
writer.write(model.getBaseModel(), stringWriter, null);//XML 폼으로 출력 수행
try {
stringWriter.close();
}
catch (IOException e) {
e.printStackTrace();
}
String buffer = stringWriter.toString();
field.append(buffer);//field-텍스트 필드(JTextArea)
field.setFont(new Font(Courier New, Font.PLAIN, 12));
}
쉽게 인코딩해 줄 수 있는 방법이 없을까요?