Java core programming-file filtering class (FileFilter and FilenameFilter ),
1. FileFilter
Package test; import java. io. file; import java. io. fileFilter; public class FileFilterTest implements FileFilter {private String extension; public FileFilterTest (String extension) {this. extension = extension;}/*****/@ Override public boolean accept (File pathname) {if (pathname. isDirectory () {return false;} String name = pathname. getName (); int num = name. lastIndexOf (". "); if (num =-1) {return false;} if (name. length ()-1 = num) {return false;} else {return extension. equals (name. substring (num + 1) ;}} public static void main (String [] args) {File path = new File ("E: \ books \ java programming "); // obtain the filtering object FileFilterTest ft = new FileFilterTest ("pdf"); File [] files = path. listFiles (ft); for (int I = 0; I <files. length; I ++) {System. out. println (files [I]. getAbsolutePath ());}}}
2. FilenameFilter
Package test; import java. io. file; import java. io. filenameFilter; public class FileNameFilterTest implements FilenameFilter {// determines whether the image format is gif private boolean isGif (String fileName) {if (fileName. toLowerCase (). endsWith (". gif ") {return true;} else {return false;} // determines whether the image format is jpg private boolean isJpg (String fileName) {if (fileName. toLowerCase (). endsWith (". jpg ") {return true;} else {return false;} // determines whether the image format is png private boolean isPng (String fileName) {if (fileName. toLowerCase (). endsWith (". png ") {return true;} else {return false; }}@ Override public boolean accept (File dir, String name) {return (isGif (name) | isJpg (name) | isPng (name);} public static void main (String [] args) {File path = new File ("C: \ img "); // obtain the filtering object FileNameFilterTest ft = new FileNameFilterTest (); File [] f = path. listFiles (ft); for (int I = 0; I <f. length; I ++) {File file = f [I]; System. out. println (file. getAbsolutePath ());}}}