javax.swing.filechooser

## Class FileSystemView

- java.lang.Object
- - javax.swing.filechooser.FileSystemView

-     public abstract class FileSystemView
      extends Object

  FileSystemView is JFileChooser's gateway to the file system. Since the JDK1.1 File API doesn't allow access to such information as root partitions, file type information, or hidden file bits, this class is designed to intuit as much OS-specific file system information as possible.

  Java Licensees may want to provide a different implementation of FileSystemView to better handle a given operating system.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileSystemView()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `File` | `createFileObject(File dir, String filename)` Returns a File object constructed in dir from the given filename.
    `File` | `createFileObject(String path)` Returns a File object constructed from the given path string.
    `protected File` | `createFileSystemRoot(File f)` Creates a new `File` object for `f` with correct behavior for a file system root directory.
    `abstract File` | `createNewFolder(File containingDir)` Creates a new folder with a default folder name.
    `File` | `getChild(File parent, String fileName)`
    `File` | `getDefaultDirectory()` Return the user's default starting directory for the file chooser.
    `File[]` | `getFiles(File dir, boolean useFileHiding)` Gets the list of shown (i.e.
    `static FileSystemView` | `getFileSystemView()`
    `File` | `getHomeDirectory()`
    `File` | `getParentDirectory(File dir)` Returns the parent directory of `dir`.
    `File[]` | `getRoots()` Returns all root partitions on this system.
    `String` | `getSystemDisplayName(File f)` Name of a file, directory, or folder as it would be displayed in a system file browser.
    `Icon` | `getSystemIcon(File f)` Icon for a file, directory, or folder as it would be displayed in a system file browser.
    `String` | `getSystemTypeDescription(File f)` Type description for a file, directory, or folder as it would be displayed in a system file browser.
    `boolean` | `isComputerNode(File dir)` Used by UI classes to decide whether to display a special icon for a computer node, e.g.
    `boolean` | `isDrive(File dir)` Used by UI classes to decide whether to display a special icon for drives or partitions, e.g.
    `boolean` | `isFileSystem(File f)` Checks if `f` represents a real directory or file as opposed to a special folder such as `"Desktop"`.
    `boolean` | `isFileSystemRoot(File dir)` Is dir the root of a tree in the file system, such as a drive or partition.
    `boolean` | `isFloppyDrive(File dir)` Used by UI classes to decide whether to display a special icon for a floppy disk.
    `boolean` | `isHiddenFile(File f)` Returns whether a file is hidden or not.
    `boolean` | `isParent(File folder, File file)` On Windows, a file can appear in multiple folders, other than its parent directory in the filesystem.
    `boolean` | `isRoot(File f)` Determines if the given file is a root in the navigable tree(s).
    `Boolean` | `isTraversable(File f)` Returns true if the file (directory) can be visited.

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

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

- - ### Constructor Detail

    - #### FileSystemView

          public FileSystemView()

  - ### Method Detail

    - #### getFileSystemView

          public static FileSystemView getFileSystemView()

    - #### isRoot

          public boolean isRoot(File f)

      Determines if the given file is a root in the navigable tree(s). Examples: Windows 98 has one root, the Desktop folder. DOS has one root per drive letter, `C:\`, `D:\`, etc. Unix has one root, the `"/"` directory. The default implementation gets information from the `ShellFolder` class.
      Parameters:
        `f` - a `File` object representing a directory
      Returns:
        `true` if `f` is a root in the navigable tree.
      See Also:
        `isFileSystemRoot(java.io.File)`

    - #### isTraversable

          public Boolean isTraversable(File f)

      Returns true if the file (directory) can be visited. Returns false if the directory cannot be traversed.
      Parameters:
        `f` - the `File`
      Returns:
        `true` if the file/directory can be traversed, otherwise `false`
      Since:
        1.4
      See Also:
        `JFileChooser.isTraversable(java.io.File)`, `FileView.isTraversable(java.io.File)`

    - #### getSystemDisplayName

          public String getSystemDisplayName(File f)

      Name of a file, directory, or folder as it would be displayed in a system file browser. Example from Windows: the "M:\" directory displays as "CD-ROM (M:)" The default implementation gets information from the ShellFolder class.
      Parameters:
        `f` - a `File` object
      Returns:
        the file name as it would be displayed by a native file chooser
      Since:
        1.4
      See Also:
        `JFileChooser.getName(java.io.File)`

    - #### getSystemTypeDescription

          public String getSystemTypeDescription(File f)

      Type description for a file, directory, or folder as it would be displayed in a system file browser. Example from Windows: the "Desktop" folder is described as "Desktop". Override for platforms with native ShellFolder implementations.
      Parameters:
        `f` - a `File` object
      Returns:
        the file type description as it would be displayed by a native file chooser or null if no native information is available.
      Since:
        1.4
      See Also:
        `JFileChooser.getTypeDescription(java.io.File)`

    - #### getSystemIcon

          public Icon getSystemIcon(File f)

      Icon for a file, directory, or folder as it would be displayed in a system file browser. Example from Windows: the "M:\" directory displays a CD-ROM icon. The default implementation gets information from the ShellFolder class.
      Parameters:
        `f` - a `File` object
      Returns:
        an icon as it would be displayed by a native file chooser
      Since:
        1.4
      See Also:
        `JFileChooser.getIcon(java.io.File)`

    - #### isParent

          public boolean isParent(File folder,
                         File file)

      On Windows, a file can appear in multiple folders, other than its parent directory in the filesystem. Folder could for example be the "Desktop" folder which is not the same as file.getParentFile().
      Parameters:
        `folder` - a `File` object representing a directory or special folder
        `file` - a `File` object
      Returns:
        `true` if `folder` is a directory or special folder and contains `file`.
      Since:
        1.4

    - #### getChild

          public File getChild(File parent,
                      String fileName)

      Parameters:
        `parent` - a `File` object representing a directory or special folder
        `fileName` - a name of a file or folder which exists in `parent`
      Returns:
        a File object. This is normally constructed with `new File(parent, fileName)` except when parent and child are both special folders, in which case the `File` is a wrapper containing a `ShellFolder` object.
      Since:
        1.4

    - #### isFileSystem

          public boolean isFileSystem(File f)

      Checks if `f` represents a real directory or file as opposed to a special folder such as `"Desktop"`. Used by UI classes to decide if a folder is selectable when doing directory choosing.
      Parameters:
        `f` - a `File` object
      Returns:
        `true` if `f` is a real file or directory.
      Since:
        1.4

    - #### createNewFolder

          public abstract File createNewFolder(File containingDir)
                                        throws IOException

      Creates a new folder with a default folder name.
      Throws:
        `IOException`

    - #### isHiddenFile

          public boolean isHiddenFile(File f)

      Returns whether a file is hidden or not.

    - #### isFileSystemRoot

          public boolean isFileSystemRoot(File dir)

      Is dir the root of a tree in the file system, such as a drive or partition. Example: Returns true for "C:\" on Windows 98.
      Parameters:
        `dir` - a `File` object representing a directory
      Returns:
        `true` if `f` is a root of a filesystem
      Since:
        1.4
      See Also:
        `isRoot(java.io.File)`

    - #### isDrive

          public boolean isDrive(File dir)

      Used by UI classes to decide whether to display a special icon for drives or partitions, e.g. a "hard disk" icon. The default implementation has no way of knowing, so always returns false.
      Parameters:
        `dir` - a directory
      Returns:
        `false` always
      Since:
        1.4

    - #### isFloppyDrive

          public boolean isFloppyDrive(File dir)

      Used by UI classes to decide whether to display a special icon for a floppy disk. Implies isDrive(dir). The default implementation has no way of knowing, so always returns false.
      Parameters:
        `dir` - a directory
      Returns:
        `false` always
      Since:
        1.4

    - #### isComputerNode

          public boolean isComputerNode(File dir)

      Used by UI classes to decide whether to display a special icon for a computer node, e.g. "My Computer" or a network server. The default implementation has no way of knowing, so always returns false.
      Parameters:
        `dir` - a directory
      Returns:
        `false` always
      Since:
        1.4

    - #### getRoots

          public File[] getRoots()

      Returns all root partitions on this system. For example, on Windows, this would be the "Desktop" folder, while on DOS this would be the A: through Z: drives.

    - #### getHomeDirectory

          public File getHomeDirectory()

    - #### getDefaultDirectory

          public File getDefaultDirectory()

      Return the user's default starting directory for the file chooser.
      Returns:
        a `File` object representing the default starting folder
      Since:
        1.4

    - #### createFileObject

          public File createFileObject(File dir,
                              String filename)

      Returns a File object constructed in dir from the given filename.

    - #### createFileObject

          public File createFileObject(String path)

      Returns a File object constructed from the given path string.

    - #### getFiles

          public File[] getFiles(File dir,
                        boolean useFileHiding)

      Gets the list of shown (i.e. not hidden) files.

    - #### getParentDirectory

          public File getParentDirectory(File dir)

      Returns the parent directory of `dir`.
      Parameters:
        `dir` - the `File` being queried
      Returns:
        the parent directory of `dir`, or `null` if `dir` is `null`

    - #### createFileSystemRoot

          protected File createFileSystemRoot(File f)

      Creates a new `File` object for `f` with correct behavior for a file system root directory.
      Parameters:
        `f` - a `File` object representing a file system root directory, for example "/" on Unix or "C:\" on Windows.
      Returns:
        a new `File` object
      Since:
        1.4

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, 2017, Oracle and/or its affiliates. All rights reserved.