[kotlin] 파일 내용을 정렬하는 방법

먼저, 파일을 읽기 위해 File 클래스를 사용합니다. 이 클래스는 파일의 경로를 인자로 받아서 파일을 읽거나 쓸 수 있는 기능을 제공합니다. 아래는 파일을 읽어서 정렬하는 예제입니다.

import java.io.File

fun main() {
    // 파일 경로
    val filePath = "파일 경로 입력"

    // 파일 읽기
    val file = File(filePath)
    val lines = file.readLines()

    // 정렬
    val sortedLines = lines.sorted()

    // 정렬된 내용 출력
    sortedLines.forEach { println(it) }
}

위 예제에서는 readLines 함수를 사용하여 파일을 한 줄씩 읽어 리스트로 저장합니다. 그리고 sorted 함수를 사용하여 리스트를 정렬합니다. 마지막으로 forEach 함수를 사용하여 정렬된 내용을 출력합니다.

파일을 정렬하기 전에 특정 기준에 따라 정렬해야 한다면, sortedBy 함수를 사용하여 정렬 기준을 지정할 수 있습니다. 아래는 정렬 기준을 이름으로 지정하여 파일을 정렬하는 예제입니다.

import java.io.File

data class Person(val name: String, val age: Int)

fun main() {
    // 파일 경로
    val filePath = "파일 경로 입력"

    // 파일 읽기
    val file = File(filePath)
    val lines = file.readLines()

    // 정렬
    val sortedLines = lines.map { line ->
        val (name, age) = line.split(",")
        Person(name, age.toInt())
    }.sortedBy { person -> person.name }

    // 정렬된 내용 출력
    sortedLines.forEach { person -> println("${person.name}, ${person.age}") }
}

위 예제에서는 Person 클래스를 정의하고, 파일의 각 줄을 Person 객체로 변환한 뒤, sortedBy 함수를 사용하여 name 속성을 기준으로 정렬합니다.

파일 내용을 정렬하는 방법에 대해 간단한 예제를 소개해드렸습니다. 참고로 실제 프로덕션 환경에서는 파일 크기가 매우 크거나 정렬 기준이 복잡할 수 있으므로 성능과 로직을 최적화하는 과정이 필요할 수 있습니다.