Apache Commons IO - OrFileFilter

OrFileFilter cung cấp logic HOẶC có điều kiện trên một danh sách các bộ lọc tệp. Nó trả về true, nếu bất kỳ bộ lọc nào trong danh sách trả về true. Nếu không, nó trả về false.

Khai báo lớp học

Sau đây là khai báo cho org.apache.commons.io.filefilter.OrFileFilter Lớp học -

public class OrFileFilter
   extends AbstractFileFilter implements ConditionalFileFilter, Serializable

Ví dụ về lớp OrFileFilter

Đây là tệp đầu vào chúng ta cần phân tích cú pháp -

Welcome to TutorialsPoint. Simply Easy Learning.

Hãy in tất cả các tệp và thư mục trong thư mục hiện tại và sau đó, lọc một tệp có tên bắt đầu bằng. hoặc kết thúc bằng 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]);
      }
   }
}

Đầu ra

Nó sẽ in ra kết quả sau.

All files and Folders.

.classpath
.project
.settings
bin
input.txt
src

File starting with . or ends with t

.classpath
.project
.settings
input.txt