更具后缀名获取目录下的文件名的方法:
方法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 }
原文:https://www.cnblogs.com/Fereli/p/12219172.html