Kotlin/포스팅

코틀린 파일과 I/O 스트림

짜집퍼박사(짜박) 2024. 1. 1. 23:19

코틀린에서 파일과 I/O(입출력) 작업을 수행하는 데 사용되는 주요 클래스와 메서드에 대해 알아보겠습니다.

 

1. 파일 생성과 쓰기 (Writing to a File)

코틀린에서 파일에 데이터를 쓰려면 File 클래스와 writeText() 메서드를 사용할 수 있습니다.

import java.io.File

fun main() {
    val content = "Hello, Kotlin!"

    // 파일 생성과 내용 쓰기
    File("example.txt").writeText(content)
}

 

2. 파일 읽기 (Reading from a File)

코틀린에서 파일에서 데이터를 읽으려면 readText() 메서드를 사용할 수 있습니다.

import java.io.File

fun main() {
    // 파일에서 내용 읽기
    val content = File("example.txt").readText()
    println(content)
}

 

3. 행 단위로 파일 읽기 (Reading File Line by Line)

파일의 각 행을 읽으려면 readLines() 메서드를 사용할 수 있습니다.

import java.io.File

fun main() {
    // 파일에서 각 행 읽기
    val lines = File("example.txt").readLines()
    for (line in lines) {
        println(line)
    }
}

 

4. BufferedWriter를 사용한 파일 쓰기 (Using BufferedWriter for Writing to a File)

BufferedWriter를 사용하여 파일에 내용을 쓰려면 다음과 같이 할 수 있습니다.

import java.io.BufferedWriter
import java.io.File
import java.io.FileWriter

fun main() {
    val content = "Hello, Kotlin!"

    // BufferedWriter를 사용하여 파일에 내용 쓰기
    BufferedWriter(FileWriter("example.txt")).use { writer ->
        writer.write(content)
    }
}

 

5. BufferedReader를 사용한 파일 읽기 (Using BufferedReader for Reading from a File)

BufferedReader를 사용하여 파일에서 데이터를 읽으려면 다음과 같이 할 수 있습니다.

import java.io.BufferedReader
import java.io.File
import java.io.FileReader

fun main() {
    // BufferedReader를 사용하여 파일에서 데이터 읽기
    BufferedReader(FileReader("example.txt")).use { reader ->
        var line: String?
        while (reader.readLine().also { line = it } != null) {
            println(line)
        }
    }
}

 

6. 자동으로 자원 해제 (Automatic Resource Management)

파일 I/O 작업을 수행할 때는 use 함수를 사용하여 자원을 자동으로 해제하는 것이 좋습니다. use 함수를 사용하면 파일이나 스트림과 같은 리소스를 안전하게 사용한 후 자동으로 닫아줍니다.

import java.io.File

fun main() {
    // use 함수를 사용하여 파일을 안전하게 다루기
    File("example.txt").bufferedReader().use { reader ->
        var line: String?
        while (reader.readLine().also { line = it } != null) {
            println(line)
        }
    }
}

이러한 방법들을 활용하여 코틀린에서 파일과 I/O 스트림을 다룰 수 있습니다. 주의해야 할 점은 파일 경로는 운영 체제에 따라 다를 수 있으며, 파일에 대한 쓰기/읽기 권한이 있어야 합니다. 또한 파일과 I/O 작업에서 발생할 수 있는 예외에 대한 적절한 예외 처리도 필요합니다.

 

With ChatGPT

'Kotlin > 포스팅' 카테고리의 다른 글

코틀린 스트림 생성  (0) 2024.01.01
코틀린 스트림 유틸리티  (0) 2024.01.01
코틀린 컬렉션 순서  (0) 2024.01.01
코틀린 하위 컬렉션 추출  (0) 2024.01.01
코틀린 컬렉션 변환  (0) 2024.01.01