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