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 the 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.