{Java}UTF8ファイルのBase64エンコード

https://www.zunouissiki.com/java-base64-encode-decode/#i-4


notepad a.java


import java.io.*;
import java.nio.file.*;

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Collectors;

import java.util.Base64;
import java.net.*;


public class a {
  public static void main(String args) throws Exception {
  
    String targetFilePath = null;
    String outPut = null;

    FileOutputStream fos = null;
    BufferedOutputStream bos = null;
    OutputStreamWriter osw = null;

    // テストファイル作成
    outPut = "./a.txt";

    fos = new FileOutputStream(outPut);
    bos = new BufferedOutputStream(fos);
    osw = new OutputStreamWriter(bos, "UTF-8");
    osw.write("テストファイルです1\r\n");
    osw.write("テストファイルです2\r\n");

    osw.close();
    bos.close();
    fos.close();

    // Base64エンコードしたいファイルのパス
    targetFilePath = "./a.txt";

    // ファイルの内容をbyteに変換する
    byte data = Files.readAllBytes(Paths.get(targetFilePath));

    // Base64エンコードする
    String base64str = Base64.getEncoder().encodeToString(data);

    // 結果を出力
    System.out.println(base64str);

  }

}

 

javac -encoding utf-8 a.java
java a