「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