LoginSignup
0
0

More than 1 year has passed since last update.

Javaでテキストファイルに文字を追加する方法

Posted at

FileWriterの第二引数にtrueを入れよう

結論はこれだけです

普通に書くと上書きされる

まず、try.txtを作成してみます。
以下のコードを一度実行します。

Test.java
public static void todoWrite() {
    try (BufferedWriter writer = new BufferedWriter(new FileWriter("try.txt"));) {
        writer.write("Test");
        writer.newLine();
        writer.write("おためし");
        writer.newLine();
    } catch (IOException e) {
        System.out.println("ファイルの書き込みエラー");
    }
}

すると、中身は

try.txt
Test
おためし

となりますね。
では再度Test.javaを実行すると?

try.txt
Test
おためし

中身は変わりません。
なぜなら、もともとあった文章を上書きしてしまうからです。
では次はFileWriterの第二引数にtrueを入れてみましょう。

元の文章に追加で書き込む方法

先程のコードのFileWriterの第二引数にtrueを入れてみました。
これで一度実行してみましょう。

Test.java
public static void todoWrite() {
    try (BufferedWriter writer = new BufferedWriter(new FileWriter("try.txt", true));) {
        writer.write("Test");
        writer.newLine();
        writer.write("おためし");
        writer.newLine();
    } catch (IOException e) {
        System.out.println("ファイルの書き込みエラー");
    }
}

一度目の実行で中身は

try.txt
Test
おためし

となりますね。
では再度Test.javaを実行すると?

try.txt
Test
おためし
Test
おためし

このように、末尾に文章が足されていきます。
こうすることでファイルの追加記入ができるようになりましたね。

まとめ

java.io.FileWriterのインスタンス生成時、第二引数を入れないと、上書きする。
java.io.FileWriterのインスタンス生成時、第二引数にtrueを入れると、追記する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0