Java Program to Append Text to an Existing File

In this program, you'll learn different techniques to append text to an existing file in Java.

Before we append text to an existing file, we assume we have a file named test.txt in our src folder.

Here's the content of test.txt

This is a
Test file.

Example 1: Append text to existing file

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;

public class AppendFile {

    public static void main(String[] args) {

        String path = System.getProperty("user.dir") + "\\src\\test.txt";
        String text = "Added text";

        try {
            Files.write(Paths.get(path), text.getBytes(), StandardOpenOption.APPEND);
        } catch (IOException e) {
        }
    }
}

When you run the program, the test.txt file now contains:

This is a
Test file.Added text

In the above program, we use System's user.dir property to get the current directory stored in the variable path. Check Java Program to get the current directory for more information.

Likewise, the text to be added is stored in the variable text. Then, inside a try-catch block we use Files' write() method to append text to the existing file.

The write() method takes path of the given file, the text to the written and how the file should be open for writing. In our case, we used APPEND option for writing.

Since the write() method may return an IOException, we use a try-catch block to catch the exception properly.


Example 2: Append text to an existing file using FileWriter

import java.io.FileWriter;
import java.io.IOException;

public class AppendFile {

    public static void main(String[] args) {

        String path = System.getProperty("user.dir") + "\\src\\test.txt";
        String text = "Added text";

        try {
            FileWriter fw = new FileWriter(path, true);
            fw.write(text);
            fw.close();
        }
        catch(IOException e) {
        }
    }
}

The output of the program is same as Example 1.

In the above program, instead of using write() method, we use an instance (object) of FileWriter to append text to an existing file.

When creating a FileWriter object, we pass the path of the file and true as the second parameter. true means we allow the file to be appended.

Then, we use write() method to append the given text and close the filewriter.