Kotlin Program to Append Text to an Existing File

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

fun main(args: Array<String>) {

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

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

}

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 Kotlin 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

fun main(args: Array<String>) {

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

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

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.

Here's the equivalent Java code: Java program to append text to an existing file.

Did you find this article helpful?