Java - File이 존재하는지 확인

File이 존재하는지 확인하는 방법을 소개합니다.

File.exists()

File.exists()는 파일 또는 폴더가 존재하는지 리턴합니다.

만약 폴더가 아닌, 파일이 존재하는지 확인하려면 File.isDirectory()도 함께 체크해야 합니다.

import java.io.File;
import java.io.IOException;

public class FileExistsExample {

    public static void main(String[] args) throws IOException {

        File file1 = new File("/home/js/tests");
        if (file1.exists()) {
            if (file1.isDirectory()) {
                System.out.println("file1: dir exists");
            } else {
                System.out.println("file1: file exists");
            }
        }

        File file2 = new File("/home/js/tests/test1.txt");
        if (file2.exists()) {
            if (file2.isDirectory()) {
                System.out.println("file2: dir exists");
            } else {
                System.out.println("file2: file exists");
            }
        }

    }
}

Output:

file1: dir exists
file2: file exists

File.isFile()

File.isFile()는 파일이 존재하는 경우 true를 리턴합니다. File의 주소가 폴더인 경우는 false를 리턴합니다.

이 API를 사용하면 파일 존재 유무를 체크할 때 File.isDirectory()를 호출하지 않아도 됩니다.

import java.io.File;
import java.io.IOException;

public class FileExistsExample2 {

    public static void main(String[] args) throws IOException {

        File file1 = new File("/home/js/tests");
        if (file1.isFile()) {
            System.out.println("file1 exists");
        }

        File file2 = new File("/home/js/tests/test1.txt");
        if (file2.isFile()) {
            System.out.println("file2 exists");
        }

    }
}

Output:

file2 exists

Path.toFile()

Path 객체를 이용할 수도 있습니다.

Path.toFile()은 File을 리턴하고, 위와 동일한 방법으로 확인할 수 있습니다.

import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileExistsExample3 {

    public static void main(String[] args) throws IOException {

        Path path = Paths.get("/home/js/tests/test1.txt");
        if (path.toFile().isFile()) {
            System.out.println("file1 exists");
        }

        File file = path.toFile();
        if (file.exists() && !file.isDirectory()) {
            System.out.println("file1 exists");
        }

    }
}

Output:

file1 exists
file1 exists
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha