java
FileFilter , FileNameFilter interface
easy16
2019. 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)
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; } }