[kotlin] 파일의 특정 부분을 변경하는 방법

먼저, File 객체를 생성하여 수정할 파일을 지정해야 합니다. 이때 파일 경로는 절대 경로 또는 상대 경로로 지정할 수 있습니다.

val file = File("경로/파일명.txt")

파일을 읽기 위해 BufferedReader를 초기화합니다.

val reader = BufferedReader(FileReader(file))

파일의 내용을 수정하기 전에 원하는 위치를 찾아야 합니다. 이를 위해 반복문을 사용하여 파일을 한 줄씩 읽고 원하는 특정 부분을 찾을 수 있습니다.

var line: String?
var lineNumber = 0
val targetLine = "수정해야 할 부분"

while (reader.readLine().also { line = it } != null) {
    lineNumber++
    if (line == targetLine) {
        // 원하는 부분을 찾았을 때의 로직을 구현합니다.
        break
    }
}

특정 부분을 찾았다면 파일을 쓰기 위해 FileWriter를 초기화합니다.

val writer = FileWriter(file)

수정이 필요한 부분을 새로운 값으로 변경한 후 파일에 쓰는 작업을 수행합니다.

writer.write("변경된 값")

파일의 나머지 부분을 그대로 유지하고 싶다면 수정이 필요한 부분을 제외한 나머지 내용을 다시 쓰는 작업이 필요합니다.

while (reader.readLine().also { line = it } != null) {
    if (line != targetLine) {
        writer.write(line + "\n")
    }
}

수정이 끝나면 파일을 닫아주어야 합니다.

reader.close()
writer.close()

이제 파일의 특정 부분을 수정하는 방법에 대해 알아보았습니다. Kotlin에서는 FileWriterBufferedReader를 사용하여 파일을 수정할 수 있습니다. 조금 더 복잡한 파일 수정을 원한다면 RandomAccessFile 클래스를 사용할 수도 있습니다. 이 클래스는 파일의 특정 위치를 찾아서 수정하는 데 유용합니다.