ファイル生成&書き込み in Java(Java8)

先日、ファイル生成&書き込み in Javaの記事を書きましたが、Java8以降ではもっと便利な書き方があったので紹介します。

先日の記事

import java.io.BufferedWriter; import java.io.FileWriter; import jav...

もっと便利な書き方

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;

public class SampleFileWrite {

  public static void main(String[] args) {

    // パス指定
    String addName = "C:/Users/Public/Documents/";
    String fileName = "java.csv";

    List<String> listA = new ArrayList<>();
    listA.add("データ1");
    listA.add("データ2");
    listA.add("データ3");

    try {

      // ファイルが存在するかのチェック
      if (Files.exists(Paths.get(addName, fileName))) {
        System.out.println("存在します");
      }else {
      // 存在しない場合は作成
        System.out.println("存在しません ファイルを作成します");
        Files.createFile(Paths.get(addName, fileName));
      }

      // 新規で書き込み
      Files.write(Paths.get(addName, fileName), listA,
          StandardCharsets.UTF_8,
          StandardOpenOption.TRUNCATE_EXISTING);

      // 追記で書き込み
      Files.write(Paths.get(addName, fileName), listA,
          StandardCharsets.UTF_8, StandardOpenOption.APPEND);

    } catch (IOException e) {
        e.printStackTrace();
    }

  }

}

Let's share SNS