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