Java Program to Append Text to an Existing File

To understand this example, you should have the knowledge of the following Java programming topics:


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 the 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 the same as Example 1.

In the above program, instead of using write() method, we use an instance (object) 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.

Did you find this article helpful?