言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Java辞典

  1. トップページ
  2. Java辞典
  3. Files.writeString() / Files.write()

Files.writeString() / Files.write()

対応: Java 11(2018)

ファイルに文字列やバイト列を書き込むメソッドです(Java 11+)。Files クラスのユーティリティメソッドを使うことで、ストリームを明示的に扱わずにシンプルな書き込みが可能です。追記モードには StandardOpenOption.APPEND を使用します。

構文

// ファイルに文字列を書き込みます(Java 11+)。
Files.writeString(Path.of("ファイルパス"), 文字列);

// 追記モードで書き込みます。
Files.writeString(Path.of("ファイルパス"), 文字列, StandardOpenOption.APPEND);

// バイト列または文字列リストを書き込みます。
Files.write(Path.of("ファイルパス"), リスト);

// 追記モードで書き込みます。
Files.write(Path.of("ファイルパス"), バイト列, StandardOpenOption.APPEND);

メソッド一覧

メソッド・オプション概要
Files.writeString(Path, String)文字列をファイルに書き込みます(Java 11+)。デフォルトはファイルを上書きします。
Files.write(Path, List<String>)文字列リストの各要素を1行として書き込みます。
Files.write(Path, byte[])バイト配列をファイルに書き込みます。
StandardOpenOption.APPEND既存のファイルに追記するオプションです。
StandardOpenOption.CREATEファイルが存在しない場合に作成するオプションです(デフォルト動作に含まれます)。

サンプルコード

sample_FilesWritestring.java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.List;

class FilesWritestring {
    public static void main(String[] args) {
        // ファイルに文字列を書き込みます(上書き)。
        try {
            Files.writeString(Path.of("output.txt"), "Hello, Java!\n");
            System.out.println("書き込みが完了しました。");
        } catch (IOException e) {
            e.printStackTrace();
        }

        // ファイルに追記します。
        try {
            Files.writeString(
                Path.of("output.txt"),
                "追記した行\n",
                StandardOpenOption.APPEND
            );
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 文字列リストを書き込みます(各要素が1行になります)。
        List<String> lines = Arrays.asList("1行目", "2行目", "3行目");
        try {
            Files.write(Path.of("lines.txt"), lines);
            System.out.println("リストの書き込みが完了しました。");
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 読み込んで内容を確認します。
        try {
            String content = Files.readString(Path.of("lines.txt"));
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
javac FilesWritestring.java
java FilesWritestring
書き込みが完了しました。
リストの書き込みが完了しました。
1行目
2行目
3行目

概要

『writeString()』はデフォルトでファイルを上書き(CREATEWRITETRUNCATE_EXISTING)します。既存ファイルを誤って上書きしないよう、追記の場合は必ず StandardOpenOption.APPEND を指定してください。

デフォルトの文字コードは UTF-8 です。異なる文字コードで書き込む場合は引数に Charset を追加します(例: Files.writeString(path, str, StandardCharsets.UTF_8))。

ファイルの読み込みについては『Files.readString() / Files.readAllLines()』を参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。