[kotlin] 코틀린에서의 조건문과 반복문을 이용한 파일 탐색

코틀린은 다른 프로그래밍 언어와 비슷한 방식으로 조건문과 반복문을 사용하여 파일 시스템을 탐색하고 관리할 수 있습니다.

파일 탐색을 위한 조건문

코틀린은 if문과 when문을 사용하여 파일 시스템의 특정 조건을 체크할 수 있습니다.

import java.io.File

fun main() {
    val directory = File("/path/to/directory")
    // 디렉토리가 존재하는지 확인
    if (directory.exists() && directory.isDirectory) {
        // 디렉토리 내의 파일 및 디렉토리 목록 출력
        directory.listFiles()?.let { files ->
            for (file in files) {
                // 파일 타입에 따라 다른 동작 수행
                when {
                    file.isFile -> println("${file.name}은 파일입니다.")
                    file.isDirectory -> println("${file.name}은 디렉토리입니다.")
                }
            }
        }
    } else {
        println("해당 디렉토리가 존재하지 않거나 디렉토리가 아닙니다.")
    }
}

위의 예시는 주어진 디렉토리에서 파일 및 디렉토리를 탐색하고, 해당 항목이 파일인지 디렉토리인지에 따라 다른 메시지를 출력하는 예제입니다.

파일 탐색을 위한 반복문

파일 시스템 탐색을 위해 반복문을 사용할 수 있습니다. 아래 예시에서는 listFiles() 함수로 디렉토리 내의 파일과 디렉토리를 리스트로 가져와서 반복문을 통해 처리합니다.

import java.io.File

fun listFilesRecursively(file: File) {
    if (file.isDirectory) {
        val files = file.listFiles()
        if (files != null) {
            for (f in files) {
                if (f.isDirectory) {
                    listFilesRecursively(f)
                } else {
                    println(f.absolutePath)
                }
            }
        }
    } else {
        println(file.absolutePath)
    }
}

fun main() {
    val directory = File("/path/to/directory")
    if (directory.exists() && directory.isDirectory) {
        listFilesRecursively(directory)
    } else {
        println("해당 디렉토리가 존재하지 않거나 디렉토리가 아닙니다.")
    }
}

위의 예시는 재귀 함수를 사용하여 주어진 디렉토리의 하위 디렉토리 및 파일을 재귀적으로 출력하는 방법을 보여줍니다.

마치며

조건문과 반복문을 사용하여 코틀린에서 간단하게 파일 시스템을 탐색할 수 있습니다. 파일 및 디렉토리를 확인하고 원하는 동작을 수행하기 위해 해당 기능들을 유연하게 활용할 수 있습니다.

참고 자료: