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