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