Apache Commons IO - OrFileFilter
OrFileFilter fournit une logique OR conditionnelle sur une liste de filtres de fichiers. Il renvoie true si l'un des filtres de la liste renvoie true. Sinon, il renvoie false.
Déclaration de classe
Voici la déclaration pour org.apache.commons.io.filefilter.OrFileFilter Classe -
public class OrFileFilter
extends AbstractFileFilter implements ConditionalFileFilter, Serializable
Exemple de classe OrFileFilter
Voici le fichier d'entrée que nous devons analyser -
Welcome to TutorialsPoint. Simply Easy Learning.
Imprimons tous les fichiers et répertoires du répertoire courant, puis filtrons un fichier dont le nom commence par. ou se termine par t.
IOTester.java
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.filefilter.OrFileFilter;
import org.apache.commons.io.filefilter.PrefixFileFilter;
import org.apache.commons.io.filefilter.WildcardFileFilter;
public class IOTester {
public static void main(String[] args) {
try {
usingOrFileFilter();
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
public static void usingOrFileFilter() throws IOException {
//get the current directory
File currentDirectory = new File(".");
//get names of all files and directory in current directory
String[] files = currentDirectory.list();
System.out.println("All files and Folders.\n");
for( int i = 0; i < files.length; i++ ) {
System.out.println(files[i]);
}
System.out.println("\nFile starting with . or ends with t\n");
String[] filesNames = currentDirectory.list( new OrFileFilter(new PrefixFileFilter("."), new WildcardFileFilter("*t")));
for( int i = 0; i < filesNames.length; i++ ) {
System.out.println(filesNames[i]);
}
}
}
Production
Il imprimera le résultat suivant.
All files and Folders.
.classpath
.project
.settings
bin
input.txt
src
File starting with . or ends with t
.classpath
.project
.settings
input.txt