Package org.apache.commons.io.filefilter

# Class CanReadFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.CanReadFileFilter

All Implemented Interfaces:
  `FileFilter`, `FilenameFilter`, `Serializable`, `FileVisitor<Path>`, `PathMatcher`, `PathFilter`, `PathVisitor`, `IOFileFilter`

public class CanReadFileFilter extends AbstractFileFilter implements Serializable
This filter accepts `File`s that can be read.

Example, showing how to print out a list of the current directory's readable files:

## Using Classic IO

     File dir = FileUtils.current();
     String[] files = dir.list(CanReadFileFilter.CAN_READ);
     for (String file : files) {
         System.out.println(file);
     }

Example, showing how to print out a list of the current directory's un-readable files:

     File dir = FileUtils.current();
     String[] files = dir.list(CanReadFileFilter.CANNOT_READ);
     for (String file : files) {
         System.out.println(file);
     }

Example, showing how to print out a list of the current directory's read-only files:

     File dir = FileUtils.current();
     String[] files = dir.list(CanReadFileFilter.READ_ONLY);
     for (String file : files) {
         System.out.println(file);
     }

## Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
  1.3
See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final IOFileFilter`
  `CAN_READ`
  Singleton instance of readable filter
  `static final IOFileFilter`
  `CANNOT_READ`
  Singleton instance of not readable filter
  `static final IOFileFilter`
  `READ_ONLY`
  Singleton instance of read-only filter

  ### Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter

  `EMPTY_STRING_ARRAY`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `CanReadFileFilter()`
  Restrictive constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `accept(File file)`
  Checks to see if the file can be read.
  `FileVisitResult`
  `accept(Path file, BasicFileAttributes attributes)`
  Checks to see if the file can be read.

  ### Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter

  `accept, handle, postVisitDirectory, preVisitDirectory, toString, visitFile, visitFileFailed`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.io.filefilter.IOFileFilter

  `and, matches, negate, or`

- ## Field Details

  - ### CAN_READ

    public static final IOFileFilter CAN_READ
    Singleton instance of readable filter

  - ### CANNOT_READ

    public static final IOFileFilter CANNOT_READ
    Singleton instance of not readable filter

  - ### READ_ONLY

    public static final IOFileFilter READ_ONLY
    Singleton instance of read-only filter

- ## Constructor Details

  - ### CanReadFileFilter

    protected CanReadFileFilter()
    Restrictive constructor.

- ## Method Details

  - ### accept

    public boolean accept(File file)
    Checks to see if the file can be read.
    Specified by:
      `accept` in interface `FileFilter`
    Specified by:
      `accept` in interface `IOFileFilter`
    Overrides:
      `accept` in class `AbstractFileFilter`
    Parameters:
      `file` - the File to check.
    Returns:
      `true` if the file can be read, otherwise `false`.

  - ### accept

    public FileVisitResult accept(Path file, BasicFileAttributes attributes)
    Checks to see if the file can be read.
    Specified by:
      `accept` in interface `IOFileFilter`
    Specified by:
      `accept` in interface `PathFilter`
    Parameters:
      `file` - the File to check.
      `attributes` - the file's basic attributes (TODO may be null).
    Returns:
      `true` if the file can be read, otherwise `false`.
    Since:
      2.9.0