# Kotlin 写入文件

> 原文： [http://zetcode.com/kotlin/writefile/](http://zetcode.com/kotlin/writefile/)

Kotlin 写入文件教程展示了如何在 Kotlin 中写入文件。

Kotlin 是一种在 Java 虚拟机上运行的静态类型的编程语言。

本教程提供了四个示例，这些示例可以写入 Kotlin 中的文件。

## Kotlin 使用`PrintWriter`写入文件

`PrintWriter`将格式化的对象表示形式打印到文本输出流。

`writefile.kt`

```kt
package com.zetcode

import java.io.File

fun main(args: Array<String>) {

    val fileName = "src/resources/myfile.txt"
    val myfile = File(fileName)

    myfile.printWriter().use { out ->

        out.println("First line")
        out.println("Second line")
    }

    println("Writed to file")
}

```

该示例使用`PrintWriter`将两行写入文件。

```kt
val fileName = "src/resources/myfile.txt"

```

我们写入`src/resources/myfile.txt`文件。

```kt
myfile.printWriter().use { out ->

```

`printWriter()`返回用于将内容写入文件的`PrintWriter`。 `use()`方法在文件上执行给定的块函数，然后将其关闭。

```kt
out.println("First line")
out.println("Second line")

```

使用`println()`，我们向文件写入一个字符串，其中包括一个换行符。

## Kotlin 使用`BufferedWriter`写入文件

`BufferedWriter`将文本写入字符输出流，缓冲字符以更有效地写入单个字符，数组和字符串。

`writefile2.kt`

```kt
package com.zetcode

import java.io.File

fun main(args: Array<String>) {

    val fileName = "src/resources/myfile.txt"
    val myfile = File(fileName)

    myfile.bufferedWriter().use { out ->

        out.write("First line\n")
        out.write("Second line\n")
    }

    println("Writed to file")
}

```

该示例使用`BufferedWriter`将两行写入文件。

```kt
myfile.bufferedWriter().use { out ->

```

`bufferedWriter()`返回用于将内容写入文件的`BufferedWriter`。 `use()`方法在文件上执行给定的块函数，然后将其关闭。

## Kotlin 使用`writeText`写入文件

`writeText()`是 Kotlin `File`扩展函数，可将使用 UTF-8 或其他字符集编码的文本写入文件。 如果该文件存在，它将被覆盖。

`writefile3.kt`

```kt
package com.zetcode

import java.io.File

fun main(args: Array<String>) {

    val fileName = "src/resources/myfile3.txt"
    val myfile = File(fileName)

    val content = "Today snow is falling."

    myfile.writeText(content)

    println("Writed to file")
}

```

该示例写入具有 Kotlin `writeText()`扩展函数的文件。

## Kotlin 使用`writeText`写入文件

`Files.write()`将字节写入文件。

`writefile4.kt`

```kt
package com.zetcode

import java.io.File
import java.nio.file.Files
import java.nio.file.StandardOpenOption

fun main(args: Array<String>) {

    val fileName = "src/resources/myfile.txt"
    val myfile = File(fileName)

    val content = "Today snow is falling.\n"

    Files.write(myfile.toPath(), content.toByteArray(), StandardOpenOption.APPEND)
}

```

该示例写入具有 Kotlin `Files.write()`扩展函数的文件。

```kt
Files.write(myfile.toPath(), content.toByteArray(), StandardOpenOption.APPEND)

```

`Files.write()`的第一个参数是文件的`Path`，第二个是要写入的字节数组，第三个参数是指定如何打开文件的选项。

在本教程中，我们展示了如何在 Kotlin 中写入文件。 您可能也对相关教程感兴趣： [Kotlin 阅读文件教程](/kotlin/readfile/)和 [Kotlin Hello World 教程](/kotlin/helloworld/)。