KOTLIN · 파일/IO
파일 읽기/쓰기 심화
kotlin.io의 확장 함수로 파일 I/O를 간결하게 처리합니다. 대용량 파일의 효율적인 라인별 처리를 다룹니다.
파일/IO중급file-ioreadTextuseLinesbufferedReader
핵심 설명
kotlin.io의 확장 함수로 파일 I/O를 간결하게 처리합니다. 대용량 파일의 효율적인 라인별 처리를 다룹니다.
Kotlin code
import java.io.File
fun main() {
val file = File("test_output.txt")
// 파일 쓰기
file.writeText("첫 번째 줄
두 번째 줄
")
file.appendText("세 번째 줄
")
// 전체 읽기
println("=== 전체 ===")
println(file.readText())
// 줄 단위 읽기
println("=== 줄 단위 ===")
file.readLines().forEachIndexed { i, line ->
println("${i + 1}: $line")
}
// 대용량 파일: useLines (자동 스트림 닫기)
file.useLines { lines ->
val count = lines.filter { it.isNotBlank() }.count()
println("비어있지 않은 줄: $count")
}
// bufferedReader 활용
file.bufferedReader().use { reader ->
val first = reader.readLine()
println("첫 줄: $first")
}
// 임시 파일
val temp = kotlin.io.path.createTempFile("prefix_", ".tmp")
println("임시 파일: $temp")
file.delete()
}학습 팁
useLines는 시퀀스로 처리하여 대용량 파일도 메모리 효율적으로 읽습니다. 블록이 끝나면 자동으로 스트림이 닫힙니다.
주의할 점
readLines()는 전체 파일을 메모리에 올립니다. GB 단위 파일에는 useLines나 bufferedReader를 사용하세요.
자주 묻는 질문
파일 읽기/쓰기 심화란 무엇인가요?
kotlin.io 의 확장 함수로 파일 I/O를 간결하게 처리합니다. 대용량 파일의 효율적인 라인별 처리를 다룹니다.
파일 읽기/쓰기 심화 학습 시 주의할 점은 무엇인가요?
readLines() 는 전체 파일을 메모리에 올립니다. GB 단위 파일에는 useLines 나 bufferedReader 를 사용하세요.
Continue Learning
Kotlin 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.