클로이의 데이터 여행기

[JAVA] isFile(),isDirectory(),exists() 비교 본문

JAVA

[JAVA] isFile(),isDirectory(),exists() 비교

징느K 2019. 1. 28. 13:00

 

오늘 포스팅에서는 'isFile(),isDirectory(),exists()를 비교' 해보려고 합니다.

 

세가지 메소드는 파일/폴더가 있는지 확인하여 파일/폴더가 없어서 생기는 에러를 방지하기 위해 주로 사용됩니다. 

 

 

1) 메소드 비교

 

메소드명

 

 설명

경로.isFile()

 경로가 file인지 확인한다.

경로.isDirectory() 

 경로가 directory(folder)인지 확인한다.

 경로.exists()

 경로에 file/directory(folder)가 존재하는지 확인한다.

 

 

 

2) 실제 결과 비교

 

① 테스트할 디렉토리에 파일과 하위디렉토리를 넣어두었습니다. 아래의 [사진1]을 보시면

   "C:\data\input\TestFile"에 파일 2개 (0000.txt,0001.txt)와 디렉토리(0002)가 있는것을 알 수 있습니다. 

 

 

 

[사진1]

 

 

 

 

② 세가지 메소드가 어떤 기능을 수행하는지 확인하기 위해 아래 [사진2]와 같은 코드를 작성하였습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package posting;
 
import java.io.File;
 
public class FileCheck {
 
    public static void main(String[] args) {
        File file = new File("C:/data/input/TestFile/");
        File[] txtList = file.listFiles();
        // ① TestFile폴더 내의 파일 및 폴더를 'txtList'에 담는다.
 
        for (int j=0; j< txtList.length; j++) {
            // ② 'txtList'의 값을 하나씩 불러와서
            System.out.println(txtList[j]);
            
            // ③ exists(),isFile(),isDirectory()로 각각 출력해본다
            if(txtList[j].exists()) {
                System.out.println("exists() => txtList[j]가 존재합니다." );
            } else 
                System.out.println("exists() => txtList[j]가 존재하지 않습니다." );
            
            if(txtList[j].isFile()) {
                System.out.println("isFile() => txtList[j]가 파일입니다." );
            } else 
                System.out.println("isFile() => txtList[j]는 파일이 아닙니다." );
            
            if(txtList[j].isDirectory()) {
                System.out.println("isDirectory() => txtList[j]가 폴더입니다." );
            } else 
                System.out.println("isDirectory() =>txtList[j]는 폴더가 아닙니다" );
            System.out.println("===========================================" );
 
        }
    }
}
 
cs

[사진2]

 

 

 

③ [사진2]를 출력한 결과는 [사진3]입니다. 

 

 

[사진3]

 

 

출력된 결과를 보면 

exists()는  지정한 경로에 디렉토리/파일 구분없이 존재하는지를 확인

isFile()은 지정한 경로에 파일이 있는지 확인

isDirectory()는 지정한 경로에 디렉토리가 있는지 확인하고 있음을 알 수 있었습니다.

 

이상입니다.

감사합니다.

Comments