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

 
Wednesday, October 11, 2006

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


일본어 텍스트 인코딩인 Shift-JIS 포맷으로 파일을 출력하는 자바 프로그램 예제입니다. 일본어 윈도우에서는 간단하지만, 한글 윈도우에서는 다음과 같이 직접 인코딩을 지정해 주어야 합니다.


일본어 Shift-JIS 인코딩으로 파일 출력 예제


파일명: Foo.java
import java.io.*;

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

    JOutput.write("数値の加減乗除の結果を表示しましょう。 コマンド・ラインからのデータ入力と テキスト・フィールドからのデータ入力について説明します。");

    JOutput.newLine();

    JOutput.write("例外の発生についても簡単にふれます。");

    JOutput.close();

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

  }
}


한글 윈도우에서는, 위의 소스를 그냥 한글 완성형으로 저장하면 안되고, EmEditor 등을 사용하여, Shift-JIS 또는, UTF-8 등의 유니코드로 저장해야 합니다. (단, BOM 이 있는 유니코드는 컴파일 에러가 납니다.)

일본어 인코딩인 Shift-JIS 포맷으로 소스 코드를 저장했다면

javac -encoding sjis Foo.java && java Foo

이렇게 하고, 유니코드(UTF-8)로 저장했다면

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

이렇게 컴파일합니다.



아무튼 out.txt 라는 일본어 인코딩 (Shift-JIS)의 파일이 만들어지고, 그 안에는 다음과 같은 내용이 들어 있을 것입니다.
数値の加減乗除の結果を表示しましょう。 コマンド・ラインからのデータ入力と テキスト・フィールドからのデータ入力について説明します。
例外の発生についても簡単にふれます。



OutputStreamWriter 에는

SJIS
EUC-JP
JIS

등의 각종 일본어 인코딩을 지정할 수 있습니다.


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

☞ 자바(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