Предоставляет условную логику ИЛИ в списке файловых фильтров. Возвращает true, если какие-либо фильтры в списке возвращают true. В противном случае возвращается false.
Декларация класса
Ниже приводится объявление для класса org.apache.commons.io.filefilter.OrFileFilter.
public class OrFileFilter extends AbstractFileFilter implements ConditionalFileFilter, Serializable
Пример класса OrFileFilter
Вот входной файл, который нам нужно проанализировать —
Welcome to TutorialsPoint. Simply Easy Learning.
Давайте распечатаем все файлы и каталоги в текущем каталоге, а затем отфильтруем файл с именем, начинающимся с. или заканчивается т.
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]); } } }
Выход
Будет напечатан следующий результат.