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.
public FileSystemView()
public static FileSystemView getFileSystemView()
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.
f
- a File
object representing a directorytrue
if f
is a root in the navigable tree.isFileSystemRoot(java.io.File)
public Boolean isTraversable(File f)
Returns true if the file (directory) can be visited. Returns false if the directory cannot be traversed.
f
- the File
true
if the file/directory can be traversed, otherwise false
JFileChooser.isTraversable(java.io.File)
, FileView.isTraversable(java.io.File)
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.
f
- a File
objectJFileChooser.getName(java.io.File)
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.
f
- a File
objectJFileChooser.getTypeDescription(java.io.File)
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.
f
- a File
objectJFileChooser.getIcon(java.io.File)
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().
folder
- a File
object representing a directory or special folderfile
- a File
objecttrue
if folder
is a directory or special folder and contains file
.public File getChild(File parent, String fileName)
parent
- a File
object representing a directory or special folderfileName
- a name of a file or folder which exists in parent
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.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.
f
- a File
objecttrue
if f
is a real file or directory.public abstract File createNewFolder(File containingDir) throws IOException
Creates a new folder with a default folder name.
IOException
public boolean isHiddenFile(File f)
Returns whether a file is hidden or not.
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.
dir
- a File
object representing a directorytrue
if f
is a root of a filesystemisRoot(java.io.File)
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.
dir
- a directoryfalse
alwayspublic 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.
dir
- a directoryfalse
alwayspublic 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.
dir
- a directoryfalse
alwayspublic 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.
public File getHomeDirectory()
public File getDefaultDirectory()
Return the user's default starting directory for the file chooser.
File
object representing the default starting folderpublic File createFileObject(File dir, String filename)
Returns a File object constructed in dir from the given filename.
public File createFileObject(String path)
Returns a File object constructed from the given path string.
public File[] getFiles(File dir, boolean useFileHiding)
Gets the list of shown (i.e. not hidden) files.
public File getParentDirectory(File dir)
Returns the parent directory of dir
.
dir
- the File
being querieddir
, or null
if dir
is null
protected File createFileSystemRoot(File f)
Creates a new File
object for f
with correct behavior for a file system root directory.
f
- a File
object representing a file system root directory, for example "/" on Unix or "C:\" on Windows.File
object
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.