Учебники

Apache Commons IO — NameFileFilter

Фильтрует имена файлов для имени.

Декларация класса

Ниже приводится объявление для класса org.apache.commons.io.filefilter.NameFileFilter.

public class NameFileFilter
   extends AbstractFileFilter implements Serializable

Пример класса NameFileFilter

Вот входной файл, который нам нужно проанализировать —

Welcome to TutorialsPoint. Simply Easy Learning.

Давайте распечатаем все файлы и каталоги в текущем каталоге, а затем отфильтруем файл с именем Input.txt.

IOTester.java

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.IOCase;
import org.apache.commons.io.filefilter.NameFileFilter;

public class IOTester {
   public static void main(String[] args) {
      try {
         usingNameFileFilter();
      } catch(IOException e) {
         System.out.println(e.getMessage());
      }
   }

   public static void usingNameFileFilter() 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 with name input.txt\n");
      String[] acceptedNames = {"input", "input.txt"};
      String[] filesNames = currentDirectory.list( new NameFileFilter(acceptedNames, IOCase.INSENSITIVE) );

      for( int i = 0; i < filesNames.length; i++ ) {
         System.out.println(filesNames[i]);
      }
   }
}

Выход

Будет напечатан следующий результат.