1 package test; 2 3 /* 4 * 需求: 判断指定目录下的所有[图片]的扩展名, 并打印出文件名. 5 * 6 * */ 7 import java.io.File; 8 import java.io.FilenameFilter; 9 10 class PictureFilter implements FilenameFilter11 {12 public boolean isGif(String file)13 {14 return file.toLowerCase().endsWith(".gif") ? true : false;15 }16 public boolean isJpg(String file)17 {18 return file.toLowerCase().endsWith(".jpg") ? true : false;19 }20 public boolean isPng(String file)21 {22 return file.toLowerCase().endsWith(".png") ? true : false;23 }24 public boolean isBmp(String file)25 {26 return file.toLowerCase().endsWith(".bmp") ? true : false;27 }28 public boolean accept(File dir, String fname)29 {30 return (isJpg(fname) || isBmp(fname) || isPng(fname) || isGif(fname));31 }32 }33 public class Test1034 {35 public static void main(String[] args)36 {37 File dir = new File("D:/test/test_2");38 String[] pictures = dir.list(new PictureFilter());39 System.out.PRintln("size=" + pictures.length);40 for (int i = 0; i < pictures.length; i++)41 {42 String picfile = pictures[i];43 System.out.println("picfile=" + picfile);44 }45 }46 }
1 package test; 2 /* 3 * 匿名内部类实现 4 * 注意filter()的自变量必须是final。这一点是匿名内部类要求的,使其能使用来自本身作用域以外的一个对象。 5 * */ 6 import java.io.File; 7 import java.io.FilenameFilter; 8 9 public class Test1110 {11 public static FilenameFilter filter(final String random)12 {13 return new FilenameFilter()14 {15 public boolean isGif(String file)16 {17 return file.toLowerCase().endsWith(".gif") ? true : false;18 }19 public boolean isJpg(String file)20 {21 return file.toLowerCase().endsWith(".jpg") ? true : false;22 }23 public boolean isPng(String file)24 {25 return file.toLowerCase().endsWith(".png") ? true : false;26 }27 public boolean isBmp(String file)28 {29 return file.toLowerCase().endsWith(".bmp") ? true : false;30 }31 public boolean accept(File dir, String fname)32 {33 return (isJpg(fname) || isBmp(fname) || isPng(fname) || isGif(fname));34 }35 };36 }37 public static void main(String[] args)38 {39 System.out.println("test11");40 File dir = new File("D:/test/test_2");41 String[] pictures = dir.list(filter("random"));42 System.out.println("size=" + pictures.length);43 for (int i = 0; i < pictures.length; i++)44 {45 String picfile = pictures[i];46 System.out.println("picfile=" + picfile);47 }48 }49 }
1 package test; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 /* 6 * main函数匿名内部类 7 * */ 8 public class Test12 9 {10 public static void main(String[] args)11 {12 File dir = new File("D:/test/test_2");13 String[] pictures = dir.list(new FilenameFilter()14 {15 public boolean isGif(String file)16 {17 return file.toLowerCase().endsWith(".gif") ? true : false;18 }19 public boolean isJpg(String file)20 {21 return file.toLowerCase().endsWith(".jpg") ? true : false;22 }23 public boolean isPng(String file)24 {25 return file.toLowerCase().endsWith(".png") ? true : false;26 }27 public boolean isBmp(String file)28 {29 return file.toLowerCase().endsWith(".bmp") ? true : false;30 }31 public boolean accept(File dir, String fname)32 {33 return (isJpg(fname) || isBmp(fname) || isPng(fname) || isGif(fname));34 }35 });36 System.out.println("test12");37 System.out.println("size=" + pictures.length);38 for (int i = 0; i < pictures.length; i++)39 {40 String picfile = pictures[i];41 System.out.println("picfile=" + picfile);42 }43 }44 }
新闻热点
疑难解答