Apache Commons IO - OrFileFilter
OrFileFilter bietet bedingte ODER-Logik für eine Liste von Dateifiltern. Es gibt true zurück, wenn Filter in der Liste true zurückgeben. Andernfalls wird false zurückgegeben.
Klassenerklärung
Es folgt die Erklärung für org.apache.commons.io.filefilter.OrFileFilter Klasse -
public class OrFileFilter
extends AbstractFileFilter implements ConditionalFileFilter, Serializable
Beispiel einer OrFileFilter-Klasse
Hier ist die Eingabedatei, die wir analysieren müssen -
Welcome to TutorialsPoint. Simply Easy Learning.
Lassen Sie uns alle Dateien und Verzeichnisse im aktuellen Verzeichnis drucken und dann eine Datei filtern, deren Name mit beginnt. oder endet mit 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]);
}
}
}
Ausgabe
Das folgende Ergebnis wird gedruckt.
All files and Folders.
.classpath
.project
.settings
bin
input.txt
src
File starting with . or ends with t
.classpath
.project
.settings
input.txt