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.