[kotlin] 파일 입출력 시 인코딩 설정
파일 입출력을 수행할 때, 데이터의 인코딩을 올바르게 설정하는 것은 매우 중요합니다. 인코딩 설정을 잘못하면 파일에서 잘못된 문자를 읽거나 쓸 수 있기 때문입니다. Kotlin에서 파일 입출력 시 인코딩을 설정하는 방법에 대해 알아보겠습니다.
파일 읽기
파일을 읽을 때 인코딩을 설정하는 방법은 BufferedReader
를 사용하는 것입니다. BufferedReader
생성자에 charset
매개변수를 사용하여 원하는 인코딩을 지정할 수 있습니다.
아래는 UTF-8 인코딩으로 파일을 읽는 예제입니다.
import java.io.BufferedReader
import java.io.File
import java.nio.charset.Charset
fun main() {
val file = File("file.txt")
val reader = BufferedReader(file.reader(Charset.forName("UTF-8")))
var line: String?
while (reader.readLine().also { line = it } != null) {
println(line)
}
reader.close()
}
파일 쓰기
파일을 쓸 때 인코딩을 설정하는 방법은 BufferedWriter
를 사용하는 것입니다. BufferedWriter
생성자에 charset
매개변수를 사용하여 원하는 인코딩을 지정할 수 있습니다.
아래는 UTF-8 인코딩으로 파일에 문자열을 쓰는 예제입니다.
import java.io.BufferedWriter
import java.io.File
import java.nio.charset.Charset
fun main() {
val file = File("file.txt")
val writer = BufferedWriter(file.writer(Charset.forName("UTF-8")))
val text = "Hello, world!"
writer.write(text)
writer.close()
}
참고 자료
- Kotlin Standard Library - File : Kotlin 공식 문서의 File 클래스 관련 문서입니다.
- Java Standard Library - BufferedReader : 자바 공식 문서의 BufferedReader 클래스 관련 문서입니다.
- Java Standard Library - BufferedWriter : 자바 공식 문서의 BufferedWriter 클래스 관련 문서입니다.