public static void main(String[] args) { File f1 = new File("D:/"); getFileName(f1); } public static void getFileName(File file) { ArrayList< String > suffixs = new ArrayList<String>(); suffixs.add(".jpg"); suffixs.add(".png"); // 一些并列的条件判断,使用数组来简化判断的内容,将来扩充更容易 File[] files = file.listFiles(); // 获取所有文件 if (files != null) { for (File file2 : files) { // 遍历 if (file2.isFile()) { // 获取文件的名字 String fileName = file2.getName(); //获取 . 在文件中的位置 int index = fileName.lastIndexOf('.'); if (index != -1) { // 后缀名 String suffix = fileName.substring(index); if (suffixs.contains(suffix)) { System.out.println(fileName); } } } else if (file2.isDirectory()) { // 如果是文件夹,输出文件夹中所有文件的名字 getFileName(file2); } } } }