# Kotlin 程序：将文本附加到现有文件

> 原文： [https://www.programiz.com/kotlin-programming/examples/append-text-existing-file](https://www.programiz.com/kotlin-programming/examples/append-text-existing-file)

#### 在该程序中，您将学习将文本附加到 Kotlin 中现有文件的不同技术。

在将文本附加到现有文件之前，我们假设在`src`文件夹中有一个名为`test.txt`的文件。

这是`test.txt`的内容

```kt
This is a
Test file.
```

## 示例 1：将文本附加到现有文件

```kt
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) {
    }

}
```

运行该程序时，`test.txt`文件现在包含：

```kt
This is a
Test file.Added text
```

在上面的程序中，我们使用`System`的`user.dir`属性获取存储在变量`path`中的当前目录。 检查 [Kotlin 程序以获取当前目录](/kotlin-programming/examples/current-working-directory "Kotlin Program to get the current directory")，以获取更多信息。

同样，要添加的文本存储在变量`text`中。 然后，在`try-catch`块内，我们使用`Files`的`write()`方法将文本附加到现有文件中。

`write()`方法采用给定文件的路径，要写入的文本以及应如何打开文件进行写入。 在我们的例子中，我们使用`APPEND`选项进行写入。

由于`write()`方法可能返回`IOException`，因此我们使用`try-catch`块来正确捕获异常。

* * *

## 示例 2：使用`FileWriter`将文本附加到现有文件

```kt
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) {
    }
}
```

该程序的输出与示例 1 相同。

在上述程序中，不是使用`write()`方法，而是使用`FileWriter`的实例（对象）将文本附加到现有文件中。

创建`FileWriter`对象时，我们传递文件的路径，并以`true`作为第二个参数。`true`表示我们允许添加文件。

然后，我们使用`write()`方法附加给定的`text`并关闭文件编写器。

以下是等效的 Java 代码：[将文本附加到现有文件的 Java 程序](/java-programming/examples/append-text-existing-file "Java program to append text to an existing file")。