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

 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 }

 

你可能感兴趣的:(文件)