컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Wednesday, October 11, 2006

자바Java] 유니코드(UTF-8) 파일 출력, 유니코드 텍스트 파일 만들기: Unicode Output


자바의 출력 결과를 유니코드 파일로 직접 저장하는 방법입니다. 여기서는 가장 무난한 유니코드 형식인 UTF-8 인코딩(Encoding)으로 저장하는 것을 예로 들었습니다.

가나다라
똠방각하

위와 같은 2줄의 한글 문자열을, out.txt 라는 이름의 유니코드(UTF-8) 파일로 저장하는 예제 프로그램입니다.

유니코드(UTF-8) 파일로 결과 저장 예제


import java.io.*;

public class Foo {
  public static void main(String args[]) {
  try {
    BufferedWriter UniOutput = new BufferedWriter(
                                                  new OutputStreamWriter(
                                                                         new FileOutputStream("out.txt"),
                                                                         "UTF8"
                                                                         )
                                                  );

    UniOutput.write("가나다라");
    UniOutput.newLine();
    UniOutput.write("똠방각하");

    UniOutput.close();

  } catch (UnsupportedEncodingException e) {
      System.err.println(e);
      System.exit(1);
  } catch (IOException e) {
      System.err.println(e);
      System.exit(1);
  }

  }
}


만약 위의 소스 파일 자체도 UTF-8 인코딩으로 저장했다면,

javac -encoding UTF-8 Foo.java && java Foo

이렇게 소스의 인코딩을 지정하여 컴파일합니다. 단, BOM 이 있는 UTF-8 파일은 인식을 하지 못합니다.


OutputStreamWriter 의 인수에서, "UTF8" 를 "UTF-16LE" 등으로 바꾸면 "UTF-16" 인코딩으로 파일이 저장됩니다. 단, 이러면 BOM이 저장되지 않습니다. 봄을 저장하는 법: ▶▶ Java/자바] UTF-16LE, UTF-16BE BOM 쓰기, 유니코드 파일 출력; Write BOM


newLine() 이라는 메소드는, 각종 운영체제에 적합한 개행문자를 자동으로 선택하여 출력하는 것입니다. C언어와 달리, 자바에서는 그냥 \n 이렇게 하면 유닉스 개행문자가 찍히는데, newLine() 은 자동으로 운영체제를 판단하여 \r\n 이렇게 개행문자를 도스 텍스트 형식으로 출력합니다.



UTF-8 BOM 을 삽입하여 출력하는 법: ▶▶ Java/자바] UTF-8 BOM 있는 유니코드 파일 출력/만들기 예제

▶▶ [자바/Java] 유니코드 소스 파일 인코딩 인식시키기 - UTF-8 UTF-16 Unicode


▶▶ 자바/Java] 일본어 Shift-JIS 인코딩 파일 출력, 일본어 Encoding 소스 인식

☞ 자바(Java)

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top