IO de Apache Commons - OrFileFilter
OrFileFilter proporciona lógica OR condicional en una lista de filtros de archivos. Devuelve verdadero, si alguno de los filtros de la lista devuelve verdadero. De lo contrario, devuelve falso.
Declaración de clase
A continuación se muestra la declaración de org.apache.commons.io.filefilter.OrFileFilter Clase -
public class OrFileFilter
extends AbstractFileFilter implements ConditionalFileFilter, Serializable
Ejemplo de clase OrFileFilter
Aquí está el archivo de entrada que necesitamos analizar:
Welcome to TutorialsPoint. Simply Easy Learning.
Imprimamos todos los archivos y directorios en el directorio actual y luego filtremos un archivo cuyo nombre comience con. o termina con 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]);
}
}
}
Salida
Imprimirá el siguiente resultado.
All files and Folders.
.classpath
.project
.settings
bin
input.txt
src
File starting with . or ends with t
.classpath
.project
.settings
input.txt