java File过滤文件的多种方法

package com.qf.part1;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

public class FileDemo1 {
    public static void main(String[] args) throws IOException {
        File file = new File("d:\QF\test");
        String[] list = file.list();
        for (String s : list) {
            System.out.println(s);

        }
        System.out.println("--------------");
        //myPrint(file);
        myPrint2(file);
    }

    public static void myPrint(File dir){
        File[] files = dir.listFiles();//方法一,未添加过滤方式
        for (File file1 : files) {
            if (file1.getName().endsWith(".java")){
                System.out.println(file1.getAbsolutePath());
            }else if (file1.isDirectory()){
                myPrint(file1);
            }

        }
    }

    public static void myPrint2(File dir){
        File[] files = dir.listFiles(new FileFilter() {//方法二,doFilter过滤方式
            @Override
            public boolean accept(File pathname) {
                return pathname.getName().endsWith(".java")||pathname.isDirectory();
            }
        });//方法二,过滤方式
        for (File file1 : files) {
            if (file1.getName().endsWith(".java")){
                System.out.println(file1.getAbsolutePath());
            }else if (file1.isDirectory()){
                myPrint(file1);
            }

        }
    }



}