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`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.