判断指定目录下的所有[图片]的扩展名, 并打印出文件名.

 1 package test;
 2 
 3 /*
 4  * 需求: 判断指定目录下的所有[图片]的扩展名, 并打印出文件名.
 5  * 
 6  * */
 7 import java.io.File;
 8 import java.io.FilenameFilter;
 9 
10 class PictureFilter implements FilenameFilter
11 {
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 Test10
34 {
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 Test11
10 {
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 }

 

posted @ 2014-10-25 09:23  testman00  阅读(419)  评论(0编辑  收藏  举报