Kotlin:
Läsa en textfil

Hur man gör:

import java.io.File

fun main() {
    val path = "example.txt"
    val readText = File(path).readText(Charsets.UTF_8)
    println(readText)
}

Exempelutskrift:

Detta är innehållet i din textfil.

Med File(path).readText(Charsets.UTF_8) läser du enkelt hela filen som en sträng.

För större filer som inte bör läsas in i minnet på en gång:

fun main() {
    val path = "big_example.txt"
    File(path).forEachLine { line ->
        println(line)
    }
}

Djupdykning

Historiskt sett har filinläsning varit kärnan i många program och skript. I Java, som Kotlin ofta jämförs med, finns det många olika sätt att göra det på – FileReader, BufferedReader, Scanner, för att nämna några. Kotlin förenklar processen genom att erbjuda inbyggda funktioner som readText och forEachLine, vilket minskar boilerplate-koden. När det kommer till prestanda och minneshantering bör forEachLine användas för att processa filen rad för rad, vilket är effektivare för stora filer.

Alternativ för att läsa filer innehåller bland annat att använda InputStream, readBytes för binära filer, eller bufferedReader() för mer kontroll och effektivitet under inläsningen.

En annan viktig del är felhantering. Du bör alltid vara redo att hantera IOExceptions när du arbetar med filinläsning.

Se även