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.