FileNameExtensionFilter (Java SE 14 & JDK 14)
Description: declaration: module: java.desktop, package: javax.swing.filechooser, class: FileNameExtensionFilter
Keywords: javax.swing.filechooser.FileNameExtensionFilter class

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

  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 declared in class java.lang.Object

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

- ## Constructor Details

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

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