Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))

1. 案例:

判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名。

 

2. 案例代码如下:

(1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.

 1 package com.himi.filesdemo;
 2 
 3 import java.io.File;
 4 
 5 
 6 /**
 7  * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
 8  * @author hebao
 9  *
10  */
11 public class FileDemo4 {
12 
13     public static void main(String[] args) {
14         //封装F盘的目录
15         File file = new File("F:\\");
16         //获取该目录下所有文件和文件夹的File数组
17         File[] files = file.listFiles();
18         //遍历上面的File[]数组
19         for(File f:files) {
20             if(f.isFile()) {
21                 if(f.getName().endsWith(".jpg")) {
22                     System.out.println("JPG图片文件名为:"+f.getName());
23                 }
24             }
25         }
26     }
27 
28 }

运行效果如下:

 

 

(2)思路是:获取的时候就已经满足条件了,然后输出即可.

 1 package com.himi.filesdemo;
 2 
 3 import java.io.File;
 4 import java.io.FilenameFilter;
 5 
 6 
 7 /**
 8  * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名
 9  * 
10  * 思路:
11  * (1)先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出.
12  * (2)获取的时候就已经满足条件了,然后输出即可.
13  * @author hebao
14  *
15  */
16 public class FileDemo4 {
17 
18     public static void main(String[] args) {
19         //思路(1)
20         /*
21         //封装F盘的目录
22         File file = new File("F:\\");
23         //获取该目录下所有文件和文件夹的File数组
24         File[] files = file.listFiles();
25         //遍历上面的File[]数组
26         for(File f:files) {
27             if(f.isFile()) {
28                 if(f.getName().endsWith(".jpg")) {
29                     System.out.println("JPG图片文件名为:"+f.getName());
30                 }
31             }
32         }
33         */
34         
35         //思路(2)
36         
37         //封装F盘的目录
38         File file = new File("F:\\");
39         //获取该目录下所有文件和文件夹的String数组
40         String[] strArray = file.list(new FilenameFilter() {
41             
42             public boolean accept(File dir, String name) {
43                 //System.out.println(dir+"----------"+name);
44                 File file = new File(dir,name);
45                 boolean flag1 = file.isFile();
46                 boolean flag2 = file.getName().endsWith(".jpg");
47                 
48                 return flag1 && flag2;
49             }
50         });
51         
52         //遍历String数组
53         for(String str:strArray) {
54             System.out.println(str);
55         }
56     }
57 
58 }

运行效果,如下:

posted on 2015-09-29 16:01  鸿钧老祖  阅读(419)  评论(0编辑  收藏  举报

导航