Kotlin - File, Directory가 존재하는지 확인

By JS | Last updated: July 12, 2021

Kotlin에서 File 또는 Directory가 존재하는지 확인하는 방법을 소개합니다.

1. File.exists()

Java의 File.exists()를 사용하여 파일 또는 디렉토리가 존재하는지 확인할 수 있습니다. 존재하면 true, 그렇지 않으면 false를 리턴합니다.

import java.io.File

fun main(args: Array<String>){

    val file = File("/tmp/text.txt")
    if (file.exists()) {
        println("file exists")
    }

    val dir = File("/tmp/log_dir")
    if (dir.exists()) {
        println("dir exists")
    }
}

Output:

file exists
dir exists

2. File.isDirectory, File.isFile

  • File.isDirectory는 경로의 파일이 존재하고, 디렉토리일 때 true를 리턴합니다. 그 외에는 false를 리턴합니다. 예를 들어, 파일이 존재하지만, 디렉토리가 아닌 파일이라면 false를 리턴합니다.
  • File.isFile은 경로의 파일이 존재하고, 디렉토리가 아닌 파일일 때 true를 리턴합니다. 그 외에는 false를 리턴합니다.
import java.io.File

fun main(args: Array<String>){

    val dir = File("/tmp/log_dir")
    if (dir.isDirectory) {
        println("It exists and it's dir")
    }
    if (dir.isFile) {
        println("It exists and it's file")
    }

    val file = File("/tmp/text.txt")
    if (file.isDirectory) {
        println("It exists and it's dir")
    }
    if (file.isFile) {
        println("It exists and it's file")
    }

}

Output:

It exists and it's dir
It exists and it's file

3. Java NIO, Path

Java NIO의 Path를 통해 File을 얻을 수 있고, 위와 동일하게 exists(), isFile, isDirectory를 사용할 수 있습니다.

import java.nio.file.Paths

fun main(args: Array<String>){

    val path = Paths.get("/home/mjs/tests/test1.txt")

    val exists = path.toFile().exists()

    val isFile = path.toFile().isFile

    val isDir = path.toFile().isDirectory
}
댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha