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です。
東京
太郎