파일 I/O 처리

스트림 및 버퍼 처리

파일 처리 : 읽기

import java.io.FileInputStream
import java.io.FileOutputStream

fun main() {
    val fileInputStream = FileInputStream("/Users/jiwon_dev/Desktop/data.txt")
    val fileOutputStream = FileOutputStream("/Users/jiwon_dev/Desktop/dataout.txt")

    var data = fileInputStream.read()

    while (data != -1) {
        fileOutputStream.write(data)
        data = fileInputStream.read()
    }

    fileInputStream.close()
    fileOutputStream.close()

    val fileInputResultStream = FileInputStream("/Users/jiwon_dev/Desktop/dataout.txt")
    var readData = fileInputResultStream.read()
    while(readData != -1) {
        print(readData.toChar())
        readData = fileInputResultStream.read()
    }
    fileInputResultStream.close()
}

실행결과 : test

버퍼리더를 사용해 파일 처리

fun main() {
    val fileInputStream = File("/Users/jiwon_dev/Desktop/data.txt").inputStream()
    val inputString = fileInputStream.bufferedReader().use { it.readLine() }
    println(inputString)
}

실행결과 : test test1 test2

파일 처리 : 쓰기