「Java」Files.write()でテキストファイルを書き込む方法

説明
public static Path get(String first,
String… more)
1つのパス文字列または、連結すると1つのパス文字列を形成する文字列のシーケンスを、Pathに変換します。

public static Charset forName(String charsetName)
指定された文字セットのCharsetオブジェクトを返します。
パラメータ:charsetName – 要求された文字セットの名前。正規名か別名戻り値:指定された文字セットのCharsetオブジェクト

public static Path write(Path path,
Iterable<? extends CharSequence> lines,
Charset cs,
OpenOption… options)
throws IOException
テキスト行をファイルに書き込みます。各行は文字シーケンスであり、システム・プロパティline.separatorで定義されているように、
各行の終端がプラットフォームの行区切り文字で表されるファイルに順々に書き込まれます。

Javaコード

package com.arkgame.study;

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

public class FileWriteDemo {

      public static void main(String[] args) throws Exception {
            System.out.println("programe start");
            //1つのパス文字列または、連結すると1つのパス文字列を形成する文字列のシーケンスを、Pathに変換します。
            Path cftPath = Paths.get("C:\\data\\info", "sample.txt");
            //指定された文字セットのCharsetオブジェクトを返します。
            Charset charset = Charset.forName("UTF-8");
            List<String> cftLst = new ArrayList<>();
            //指定された要素をこのリストの最後に追加します
            cftLst.add("Tokyo");
            cftLst.add("Oosaka");
            cftLst.add("Yokohama");
            cftLst.add("Fukuoka");

            try {
                  //テキスト行をファイルに書き込みます。
                  Files.write(cftPath, cftLst, charset, StandardOpenOption.TRUNCATE_EXISTING);
            } catch (IOException e) {
                  e.printStackTrace();
            }
            System.out.println("programe end");
      }

}

実行結果
programe start
programe end
ファイル C:\data\info\sample.txt
中身
Tokyo
Oosaka
Yokohama
Fukuoka

Java

Posted by arkgame