Java OutputStreamWriterクラスで文字コードを指定してファイルを出力する方法

環境
Java SE 1.8
Eclipse 4.14

書式
1.OutputStreamWriter(OutputStream out, Charset cs)
与えられた文字セットを使うOutputStreamWriterを作成します。
パラメータ:out – OutputStream
cs – charset
2.改行コードの文字
\r\n

3.FileOutputStream(File file)
指定されたFileオブジェクトによって表されるファイルに書き込むためのファイル出力ストリームを作成します。

使用例

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 ArkTestDemo {

      // 改行コード定義
      private static final String RN = "\r\n";
      // 文字コードの定義
      private static final String CHARSET = "Shift-JIS";
      // ファイルパスの定義
      private static final String FILE_PATH = "C:\\\\tmp\\\\resultB2.txt";

      public static void main(String[] args) throws IOException {
            // ファイルに出力する文字列
            String record = "山田";
            String record2 = "太郎";
            
            // FileOutputStreamで文字コード・改行コードを指定(Shift-JIS,\r\n)
            PrintWriter pw = new PrintWriter(
                        new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FILE_PATH), CHARSET)));
            pw.print(record + RN + record2);
            pw.close();
      }

}

実行結果
「C:\tmp\resultB2.txt」に下記内容を書き込みます。文字コードがShift-JISです。
山田
太郎

Java

Posted by arkgame