じぶんメモ

プログラミングのメモ、日常のメモとか。

Javaで文字コードを指定したファイル出力

文字コードを指定してファイル出力する際は、OutputStreamWriterを使用する。

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

public void outputFile() {
  FileOutputStream outputStream = null;
  OutputStreamWriter outputStreamWriter = null;

  try {
    outputStream = new FileOutputStream("ファイル名.txt");
    // エンコード
    // EUC-JPやUTF-8など
    outputStreamWriter = new OutputStreamWriter(outputStream, "SJIS");

    // 改行されないので改行コードをいれる
    outputStreamWriter.write("1行目\n");
    outputStreamWriter.write("2行目\n");

    outputStreamWriter.close();

  } catch (UnsupportedEncodingException e) {
      System.out.print(e);
  } catch (IOException e) {
      System.out.print(e);
  } finally {
    if (outputStreamWriter != null) {
      outputStreamWriter.close();
    }
    if (outputStream != null) {
      outputStream();
    }
  }
}