テキストファイルの読み込み

Kotlin:
テキストファイルの読み込み

How to:

import java.io.File

fun readFileAsLines(fileName: String): List<String> = File(fileName).readLines()

fun main() {
    val lines = readFileAsLines("example.txt")
    lines.forEach { println(it) }
}

サンプル出力:

最初の行です
次の行です
さらに、もう一行です

Deep Dive

簡単にファイルを読む方法は色々あります。readLines() を使うと一行ずつリストとして読み込めますが、大きなファイルには適していません。その場合には、bufferedReader() を使ってメモリを節約しながら読み込みます。

fun readFileWithBufferedReader(fileName: String) {
    File(fileName).bufferedReader().use { reader ->
        var line = reader.readLine()
        while (line != null) {
            println(line)
            line = reader.readLine()
        }
    }
}

古い方法には FileInputStreamScanner がありますが、Kotlinではもっと読みやすい関数が用意されています。

ファイルの読み込みではエラー処理も重要です。例えば、ファイルが見つからない、読み取り権限がない等の状況では、適切にエラーを処理するコードが必要です。

See Also