Package org.apache.commons.io.filefilter

# Class CanWriteFileFilter

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

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

public class CanWriteFileFilter extends AbstractFileFilter implements Serializable
This filter accepts `File`s that can be written to.

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

## Using Classic IO

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

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

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

N.B. For read-only files, use `CanReadFileFilter.READ_ONLY`.

## 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_WRITE`
  Singleton instance of writable filter
  `static final IOFileFilter`
  `CANNOT_WRITE`
  Singleton instance of not writable filter

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

  `EMPTY_STRING_ARRAY`

- ## Constructor Summary

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

- ## Method Summary

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

  ### 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_WRITE

    public static final IOFileFilter CAN_WRITE
    Singleton instance of writable filter

  - ### CANNOT_WRITE

    public static final IOFileFilter CANNOT_WRITE
    Singleton instance of not writable filter

- ## Constructor Details

  - ### CanWriteFileFilter

    protected CanWriteFileFilter()
    Restrictive constructor.

- ## Method Details

  - ### accept

    public boolean accept(File file)
    Checks to see if the file can be written to.
    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 written to, otherwise `false`.

  - ### accept

    public FileVisitResult accept(Path file, BasicFileAttributes attributes)
    Checks to see if the file can be written to.
    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 written to, otherwise `false`.
    Since:
      2.9.0