JAVA single row diary -2020 / 1 / 22- recursive filter Interface practice -File

I.e. filtration principle traverse file from the file list of all files, and each file is determined whether or not filtered according to the filtering rules implemented accept, is satisfied if the file is stored into a new container ArrayList, ArrayList to eventually form an array File return, i.e., the filtering is done,

1. FileFiterFile Interface Filter

Class overrides the abstract methods, a parameter:

package File;

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

public class ImplFileFilter implements FileFilter {
    @Override
    public boolean accept(File file) {
        return false;
    }
}

Generally used as follows:

package File;

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

public class ImplFileFilter implements FileFilter {
    @Override
    public boolean accept(File file) {
        return file.getName().endsWith(".java");
    }
}
package File;

import java.io.File;

public class Demo05 {
    public static void main(String[] args) {
        File file = new File("G:\\Java\\a.tec");
        File[] files = file.listFiles(new ImplFileFilter());//判断file 是否以.java结尾,如果是,则放到files数组
    }
}

2. FileNameFiterFile Name Filter Interface

Implementation class override the abstract methods:

package File;

import java.io.File;
import java.io.FilenameFilter;

public class ImpiFileNanmeFilter implements FilenameFilter {
    @Override
    public boolean accept(File file, String s) {
        return false;
    }
}

Generally used as follows:

package File;

import java.io.File;
import java.io.FilenameFilter;

public class ImpiFileNanmeFilter implements FilenameFilter {
    @Override
    public boolean accept(File file, String s) {
        return new File(file,s).getName().endsWith(".java");//判断file下的s是否以.java结尾,如果是,则放到files数组
    }
}
Published 103 original articles · won praise 1 · views 2653

Guess you like

Origin blog.csdn.net/wangzilong1995/article/details/104073184