java2019. 9. 21. 23:33

 

 

1, 해당 interface를 구현하고, accept를 override하면 File 객체의 listFiles 메소드를 호출할 때 Filter로 사용가능.
2, 경로 지정시, separator 사용하는 부분은 기억.
String pathName = "C:"+ File.separator+"Users"+File.separator +"Lee" + File.separator + "test";

 

ex)

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.test.testapplication.file;
 
import java.io.File;
 
public class FileFilterSample {
 
    public FileFilterSample() {
        super();
        String pathName = "C:"+ File.separator+"Users"+File.separator +"Lee" + File.separator + "test";
        //System.out.println(pathName);
        this.sampleTest(pathName);
    }
     
    public void sampleTest(String pathName) {
        File file;
         
        try {
            file = new File(pathName);
            //File [] mainFileList = file.listFiles();
            //File [] mainFileList = file.listFiles( new PNGFileNameFilter());
            File [] mainFileList = file.listFiles( new PNGFileFilter());
             
            for (File tempFile : mainFileList) {
                System.out.println(tempFile.getName());
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
         
    }
     
}
 
 
package com.test.testapplication.file;
 
import java.io.File;
import java.io.FileFilter;
 
public class PNGFileFilter implements FileFilter {
     
    @Override
    public boolean accept(File file) {
     
        if (file.isFile()) {
            String fileName = file.getName();
            if ( fileName.endsWith(".png"))
                return true;
             else
                return false;
        }
        return false;
         
    }
 
}
 
package com.test.testapplication.file;
 
import java.io.File;
import java.io.FilenameFilter;
 
public class PNGFileNameFilter implements FilenameFilter {
     
     
    @Override
    public boolean accept(File dir, String fileName) {
          
         
         
        if ( fileName.endsWith(".png"))
            return true;
         
         
         
        return false;
    }
 
}

'java' 카테고리의 다른 글

FileReader 및 BufferedReader + (Scanner)  (0) 2019.09.22
FileWriter 및 BufferedWriter 텍스트기반 처리  (0) 2019.09.22
Thread interrupt 및 getState 예제  (0) 2019.09.21
synchronized 정리  (0) 2019.09.21
Thread Priority 와 Daemon Thread  (0) 2019.09.17
Posted by easy16