In Java, there are several different ways to append text in a file. For file operations, Java provides several classes. To appending text quickly you can use Files class.
Append text to file example:
try {
Files.write(Paths.get("file1.txt"), "text to append".getBytes(), StandardOpenOption.APPEND);
} catch (IOException e) {
// To exception handling here
}
But above method will append only when the file already exists, it will not create a new file. It will throw NoSuchFileException. It will also not append any new line, you need to append by your self if required.
Append text to file example, with creating a new file:
try (FileWriter fw = new FileWriter(filename, true)) {
// the true will append the new data
fw.write("add a line\n");// appends the string to the file
} catch (IOException ioe) {
System.err.println("IOException: " + ioe.getMessage());
}
Above will create a new file if a file does not exist otherwise it will append to end of the file.
File read-write is resource costally operation. If you are going to write several time or large data then you should use BufferedWriter class.
Example of BufferedWriter to append text:
String filename = "file1.txt";
try(PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename, true)))) {
out.println("the text");
} catch (IOException e) {
System.err.println(e);
}
Or you can use Apache Commons 2.5 IO FileUtils class
Example:
FileUtils.writeStringToFile(file, "String to append", true);
There are many different ways to do this. Do it according to your need and choice.
