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

環境
Java SE 1.8
Eclipse 4.14

書式
1.new BufferedWriter(new OutputStreamWriter(new FileOutputStream(ファイルパス), 文字コード)));
文字コードと改行コードを指定してファイルに書き込みます
2.BufferedWriter(Writer out)
デフォルト・サイズの出力バッファでバッファリングされた、文字型出力ストリームを作成します。

使用例

package com.arkgame.study;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

public class AkrEncodeDemo {
      // ファイルパス変数の宣言
      private static final String FILE_PATH = "C:\\tmp\\resultC.txt";
      // 文字コード
      private static final String CHARSET = "UTF-8";
      // 改行コード定義
      private static final String BR = "\n";

      public static void main(String[] args) throws IOException {

            // ファイルに出力する文字列
            String name = "東京 ";
            String name2 = "太郎 ";

            // FileOutputStreamで文字コード・改行コードを指定(UTF-8,\n)
            PrintWriter pw = new PrintWriter(
                        new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FILE_PATH), CHARSET)));
            pw.print(name + BR + name2);
            pw.close();
      }
}

実行結果
「c:\tmp\resultC.txt」に下記内容を書き込みます。文字コードがUTF-8です。
東京
太郎

Java

Posted by arkgame