Module java.desktop
Package javax.swing.filechooser

## Class FileNameExtensionFilter

- java.lang.Object
- - javax.swing.filechooser.FileFilter
  - - javax.swing.filechooser.FileNameExtensionFilter

-     public final class FileNameExtensionFilter
      extends FileFilter

  An implementation of `FileFilter` that filters using a specified set of extensions. The extension for a file is the portion of the file name after the last ".". Files whose name does not contain a "." have no file name extension. File name extension comparisons are case insensitive.

  The following example creates a `FileNameExtensionFilter` that will show `jpg` files:

       FileFilter filter = new FileNameExtensionFilter("JPEG file", "jpg", "jpeg");
       JFileChooser fileChooser = ...;
       fileChooser.addChoosableFileFilter(filter);

  Since:
    1.6
  See Also:
    `FileFilter`, `JFileChooser.setFileFilter(javax.swing.filechooser.FileFilter)`, `JFileChooser.addChoosableFileFilter(javax.swing.filechooser.FileFilter)`, `JFileChooser.getFileFilter()`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FileNameExtensionFilter​(String description, String... extensions)` | Creates a `FileNameExtensionFilter` with the specified description and file name extensions.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `accept​(File f)` | Tests the specified file, returning true if the file is accepted, false otherwise.
    `String` | `getDescription​()` | The description of this filter.
    `String[]` | `getExtensions​()` | Returns the set of file name extensions files are tested against.
    `String` | `toString​()` | Returns a string representation of the `FileNameExtensionFilter`.

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

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

- - ### Constructor Detail

    - #### FileNameExtensionFilter

          public FileNameExtensionFilter​(String description,
                                         String... extensions)

      Creates a `FileNameExtensionFilter` with the specified description and file name extensions. The returned `FileNameExtensionFilter` will accept all directories and any file with a file name extension contained in `extensions`.
      Parameters:
        `description` - textual description for the filter, may be `null`
        `extensions` - the accepted file name extensions
      Throws:
        `IllegalArgumentException` - if extensions is `null`, empty, contains `null`, or contains an empty string
      See Also:
        `accept(java.io.File)`

  - ### Method Detail

    - #### accept

          public boolean accept​(File f)

      Tests the specified file, returning true if the file is accepted, false otherwise. True is returned if the extension matches one of the file name extensions of this `FileFilter`, or the file is a directory.
      Specified by:
        `accept` in class `FileFilter`
      Parameters:
        `f` - the `File` to test
      Returns:
        true if the file is to be accepted, false otherwise

    - #### getDescription

          public String getDescription​()

      The description of this filter. For example: "JPG and GIF Images."
      Specified by:
        `getDescription` in class `FileFilter`
      Returns:
        the description of this filter
      See Also:
        `FileView.getName(java.io.File)`

    - #### getExtensions

          public String[] getExtensions​()

      Returns the set of file name extensions files are tested against.
      Returns:
        the set of file name extensions files are tested against

    - #### toString

          public String toString​()

      Returns a string representation of the `FileNameExtensionFilter`. This method is intended to be used for debugging purposes, and the content and format of the returned string may vary between implementations.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this `FileNameExtensionFilter`