JavaTM 2 Platform
Standard Ed. 6

javax.swing.filechooser
类 FileSystemView

java.lang.Object
  继承者 javax.swing.filechooser.FileSystemView

public abstract class FileSystemView
extends Object

FileSystemView 是 JFileChooser 的文件系统网关。由于 JDK1.1 File API 不允许对诸如根分区、文件类型信息或隐藏文件位之类的信息进行访问,此类被设计成能够直接获得尽可能多的特定于 OS 的文件系统信息。

Java Licensees 可能想要提供 FileSystemView 的不同实现来更好地处理给定操作系统。


构造方法摘要
FileSystemView()
           
 
方法摘要
 File createFileObject(File dir, String filename)
          返回根据给定的 filename 在 dir 中构造的 File 对象。
 File createFileObject(String path)
          返回根据给定路径字符串构造的 File 对象。
protected  File createFileSystemRoot(File f)
          创建针对 f 的新 File 对象,使其对于文件系统根目录而言具有正确的行为。
abstract  File createNewFolder(File containingDir)
          创建具有默认文件夹名称的新文件夹。
 File getChild(File parent, String fileName)
           
 File getDefaultDirectory()
          返回文件选择器的用户默认起始目录。
 File[] getFiles(File dir, boolean useFileHiding)
          获取显示的(即未隐藏)文件的列表。
static FileSystemView getFileSystemView()
           
 File getHomeDirectory()
           
 File getParentDirectory(File dir)
          返回 dir 的父目录。
 File[] getRoots()
          返回此系统的所有根分区。
 String getSystemDisplayName(File f)
          在系统文件浏览器中显示的文件、目录或文件夹名。
 Icon getSystemIcon(File f)
          在系统文件浏览器中显示的文件、目录或文件夹的图标。
 String getSystemTypeDescription(File f)
          在系统文件浏览器中显示的文件、目录或文件夹类型描述。
 boolean isComputerNode(File dir)
          UI 类使用此方法来决定是否为计算机节点显示特殊图标,例如,“我的电脑”或网络服务器。
 boolean isDrive(File dir)
          UI 类使用此方法来决定是否为驱动器或分区显示特殊图标,例如,“硬盘”图标。
 boolean isFileSystem(File f)
          检查 f 是否表示一个相对于特殊文件夹(如 "Desktop")的实际目录或文件。
 boolean isFileSystemRoot(File dir)
          判断 dir 是否是文件系统(如驱动器或分区)中的树的根。
 boolean isFloppyDrive(File dir)
          UI 类使用此方法来决定是否为软盘显示特殊图标。
 boolean isHiddenFile(File f)
          返回某个文件是否被隐藏。
 boolean isParent(File folder, File file)
          在 Windows 中,一个文件可以出现在多个文件夹,但在文件系统中的父目录中除外。
 boolean isRoot(File f)
          确定给定文件是否是导航树中的根。
 Boolean isTraversable(File f)
          如果可以访问文件(目录),则返回 true。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FileSystemView

public FileSystemView()
方法详细信息

getFileSystemView

public static FileSystemView getFileSystemView()

isRoot

public boolean isRoot(File f)
确定给定文件是否是导航树中的根。示例:Windows 98 有一个根,即 Desktop 文件夹。DOS 中的每个驱动器名都有一个根:C:\D:\ 等等。Unix 有一个根,即 "/" 目录。 默认实现从 ShellFolder 类中获取信息。

参数:
f - 表示目录的 File 对象
返回:
如果 f 是导航树中的根,则返回 true
另请参见:
isFileSystemRoot(java.io.File)

isTraversable

public Boolean isTraversable(File f)
如果可以访问文件(目录),则返回 true。如果无法遍历目录,则返回 false。

参数:
f - File
返回:
如果可以遍历文件/目录,则返回 true,否则返回 false
从以下版本开始:
1.4
另请参见:
JFileChooser.isTraversable(java.io.File), FileView.isTraversable(java.io.File)

getSystemDisplayName

public String getSystemDisplayName(File f)
在系统文件浏览器中显示的文件、目录或文件夹名。以 Windows 为例:"M:\" 目录显示为 "CD-ROM (M:)"。 默认实现从 ShellFolder 类获取信息。

参数:
f - File 对象
返回:
本机文件选择器显示的文件名
从以下版本开始:
1.4
另请参见:
JFileChooser.getName(java.io.File)

getSystemTypeDescription

public String getSystemTypeDescription(File f)
在系统文件浏览器中显示的文件、目录或文件夹类型描述。以 Windows 为例:"Desktop" 文件夹被描述为 "Desktop"。 为本机 ShellFolder 实现中的平台重写此方法。

参数:
f - File 对象
返回:
本机文件选择器显示的文件类型描述;如果没有可用的本机信息,则返回 null。
从以下版本开始:
1.4
另请参见:
JFileChooser.getTypeDescription(java.io.File)

getSystemIcon

public Icon getSystemIcon(File f)
在系统文件浏览器中显示的文件、目录或文件夹的图标。以 Windows 为例:"M:\" 目录显示 CD-ROM 图标。 默认实现从 ShellFolder 类获取信息。

参数:
f - File 对象
返回:
本机文件选择器显示的图标
从以下版本开始:
1.4
另请参见:
JFileChooser.getIcon(java.io.File)

isParent

public boolean isParent(File folder,
                        File file)
在 Windows 中,一个文件可以出现在多个文件夹,但在文件系统中的父目录中除外。例如,该文件夹可以是不同于 file.getParentFile() 的 "Desktop" 文件夹。

参数:
folder - 表示一个目录或特殊文件夹的 File 对象
file - File 对象
返回:
如果 folder 是一个目录或特殊文件夹,并且包括 file,则返回 true
从以下版本开始:
1.4

getChild

public File getChild(File parent,
                     String fileName)
参数:
parent - 表示一个目录或特殊文件夹的 File 对象
fileName - 存在于 parent 中的文件或文件夹的名称
返回:
File 对象。它通常使用 new File(parent, fileName) 构造,父级和子级都是特殊文件夹时除外,在这种情况下,File 是包含 ShellFolder 对象的包装器。
从以下版本开始:
1.4

isFileSystem

public boolean isFileSystem(File f)
检查 f 是否表示一个相对于特殊文件夹(如 "Desktop")的实际目录或文件。UI 类使用此方法来决定在选择目录时某个文件夹是否可选择。

参数:
f - File 对象
返回:
如果 f 是实际文件或目录,则返回 true
从以下版本开始:
1.4

createNewFolder

public abstract File createNewFolder(File containingDir)
                              throws IOException
创建具有默认文件夹名称的新文件夹。

抛出:
IOException

isHiddenFile

public boolean isHiddenFile(File f)
返回某个文件是否被隐藏。


isFileSystemRoot

public boolean isFileSystemRoot(File dir)
判断 dir 是否是文件系统(如驱动器或分区)中的树的根。示例:在 Windows 98 中,对于 "C:\" 返回 true。

参数:
dir - 表示目录的 File 对象
返回:
如果 f 是文件系统的根,则返回 true
从以下版本开始:
1.4
另请参见:
isRoot(java.io.File)

isDrive

public boolean isDrive(File dir)
UI 类使用此方法来决定是否为驱动器或分区显示特殊图标,例如,“硬盘”图标。 默认实现无法知道,因此总是返回 false。

参数:
dir - 目录
返回:
总是返回 false
从以下版本开始:
1.4

isFloppyDrive

public boolean isFloppyDrive(File dir)
UI 类使用此方法来决定是否为软盘显示特殊图标。隐含了 isDrive(dir)。 默认实现无法知道,因此总是返回 false。

参数:
dir - 目录
返回:
总是返回 false
从以下版本开始:
1.4

isComputerNode

public boolean isComputerNode(File dir)
UI 类使用此方法来决定是否为计算机节点显示特殊图标,例如,“我的电脑”或网络服务器。 默认实现无法知道,因此总是返回 false。

参数:
dir - 目录
返回:
总是返回 false
从以下版本开始:
1.4

getRoots

public File[] getRoots()
返回此系统的所有根分区。例如,在 Windows 中,这将是“桌面”文件夹,而在 DOS 中将是从 A:到 Z:的驱动器。


getHomeDirectory

public File getHomeDirectory()

getDefaultDirectory

public File getDefaultDirectory()
返回文件选择器的用户默认起始目录。

返回:
表示默认起始文件夹的 File 对象
从以下版本开始:
1.4

createFileObject

public File createFileObject(File dir,
                             String filename)
返回根据给定的 filename 在 dir 中构造的 File 对象。


createFileObject

public File createFileObject(String path)
返回根据给定路径字符串构造的 File 对象。


getFiles

public File[] getFiles(File dir,
                       boolean useFileHiding)
获取显示的(即未隐藏)文件的列表。


getParentDirectory

public File getParentDirectory(File dir)
返回 dir 的父目录。

参数:
dir - 要查询的 File
返回:
dir 的父目录;如果 dirnull,则返回 null

createFileSystemRoot

protected File createFileSystemRoot(File f)
创建针对 f 的新 File 对象,使其对于文件系统根目录而言具有正确的行为。

参数:
f - 表示文件系统根目录的 File 对象,例如 Unix 上的 "/" 或 Windows 上的 "C:\"。
返回:
新的 File 对象
从以下版本开始:
1.4

JavaTM 2 Platform
Standard Ed. 6

提交错误或意见

版权所有 2008 Sun Microsystems, Inc. 保留所有权利。请遵守GNU General Public License, version 2 only