码迷,mamicode.com
首页 > 其他好文 > 详细

更具后缀名获取目录下的文件名

时间:2020-01-20 20:55:30      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:一个   color   this   过滤器   int   system   lte   sys   筛选   

更具后缀名获取目录下的文件名的方法:

  方法1:

  

 1 import java.util.List;
 2 import java.io.File;
 3 import java.util.ArrayList;
 4 
 5 /**
 6  * 自定义"文件过滤器" --筛选出指定命名条件的文件
 7  * @author fereli
 8  *
 9  */
10 public class FiletTest6 {
11     public static File[] getFiles(File f,String suffix){
12         List<File> list = new ArrayList<>();
13         /**
14          * 判断是目录
15          */
16         if (f.exists() && f.isDirectory()) {
17             File[] listFiles = f.listFiles();
18             for (File file : listFiles) {
19                 if (file.isFile() && file.getName().endsWith(suffix)) {
20                     list.add(file);    
21                 }
22             }
23         }
24         
25         return list.toArray(new File[list.size()]);
26     }
27     public static void main(String[] args) {
28         //目录名
29         File file =  new File("mydir");
30         File[] files = FiletTest6.getFiles(file, "txt");
31         for (File file2 : files) {
32             System.out.println(file2.getName());
33         }
34     }
35 }

  方法2:

  

 1 /**
 2  * 自定义"文件过滤器" --筛选出指定命名条件的文件
 3  * @author 86135
 4  *
 5  */
 6 public class FiletTest5 implements FilenameFilter{
 7     /**
 8      * 定义一个过滤字符串(条件关键字)
 9      */
10     private String filter;
11 
12     public FiletTest5(String filter) {
13         this.filter = filter;
14     }
15 
16     @Override
17     public boolean accept(File dir, String name) {
18         return name.endsWith(this.filter);
19     }
20     
21     /**
22      * 文件名过滤测试
23      * @param args 
24      */
25     public static void main(String[] args) {
26         File mydir = new File("mydir");
27         if(mydir.exists() &&  mydir.isDirectory()) {
28             //用"自定义文件名过滤器"筛选
29             File[] listFiles = mydir.listFiles(new FiletTest5("txt"));
30             if(listFiles.length>0) {
31                 System.out.println("符合条件的");
32                 for (File file : listFiles) {
33                     if (file.isFile()) {
34                         System.out.println(file.getName());
35                     }
36                 }
37             }else {
38                 System.out.println("不存在这样的文件!!");
39             }
40         }else {
41             System.out.println("不是目录!!");
42         }
43     }
44 }

更具后缀名获取目录下的文件名

标签:一个   color   this   过滤器   int   system   lte   sys   筛选   

原文地址:https://www.cnblogs.com/Fereli/p/12219172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!