java.lang.Object
javax.swing.filechooser.FileSystemView
FileSystemView是JFileChooser与文件系统交互的入口。由于JDK1.1文件API不允许访问诸如根分区、文件类型信息或隐藏文件位等信息,因此该类旨在尽可能地推断操作系统特定的文件系统信息。
Java许可证持有人可能希望提供FileSystemView的不同实现,以更好地处理特定操作系统。
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateFileObject(File dir, String filename) 从给定的文件名在dir中构造一个File对象。createFileObject(String path) 从给定路径字符串构造一个File对象。protected File为f创建一个新的File对象,具有文件系统根目录的正确行为。abstract FilecreateNewFolder(File containingDir) 创建一个具有默认文件夹名称的新文件夹。返回一个File对象,通常使用new File(parent, fileName)构造,除非父文件夹和子文件夹都是特殊文件夹,此时File是一个包含ShellFolder对象的包装器。File[]返回表示文件选择器中将显示的值的文件数组。final File[]返回表示文件选择器快捷方式面板中默认显示的值的文件数组。返回文件选择器的用户默认起始目录。File[]获取显示的文件列表(即非隐藏文件)。static FileSystemView返回文件系统视图。返回主目录。getLinkLocation(File file) 如果指定的文件是Shell解释链接,则返回指定链接文件引用的常规文件。getParentDirectory(File dir) 返回dir的父目录。File[]getRoots()返回系统上的所有根分区。文件、目录或文件夹的名称,如在系统文件浏览器中显示的那样。文件、目录或文件夹的图标,如在系统文件浏览器中显示的那样。getSystemIcon(File f, int width, int height) 返回文件、目录或文件夹的图标,以请求的大小在系统文件浏览器中显示。文件、目录或文件夹的类型描述,如在系统文件浏览器中显示的那样。booleanisComputerNode(File dir) 用于UI类来决定是否为计算机节点显示特殊图标,例如。boolean用于UI类来决定是否为驱动器或分区显示特殊图标,例如“硬盘”图标。booleanisFileSystem(File f) 检查f是否表示真实目录或文件,而不是诸如“桌面”之类的特殊文件夹。booleanisFileSystemRoot(File dir) dir是否是文件系统中树的根,例如驱动器或分区。booleanisFloppyDrive(File dir) 用于UI类来决定是否为软盘显示特殊图标。booleanisHiddenFile(File f) 返回文件是否隐藏。boolean返回指定文件是否表示Shell解释链接,可以通过getLinkLocation(File)获得。boolean在Windows上,文件可以出现在多个文件夹中,而不仅仅是其父目录在文件系统中。boolean确定给定文件是否是可导航树中的根。如果文件(目录)可以访问,则返回true。
-
Constructor Details
-
FileSystemView
public FileSystemView()构造一个FileSystemView。
-
-
Method Details
-
getFileSystemView
返回文件系统视图。- 返回:
- 文件系统视图
-
isRoot
确定给定文件是否是可导航树中的根。示例:Windows 98有一个根,即桌面文件夹。DOS每个驱动器号有一个根,例如C:\,D:\等。Unix有一个根,即“/”目录。默认实现从ShellFolder类获取信息。- 参数:
- f - 表示目录的File对象
- 返回:
- 如果f是可导航树中的根,则返回true。
- 参见:
-
isTraversable
如果文件(目录)可以访问,则返回true。如果目录无法遍历,则返回false。- 参数:
- f - File对象
- 返回:
- 如果文件/目录可以遍历,则返回true,否则返回false
- 自1.4起:
- 1.4
- 参见:
-
getSystemDisplayName
文件、目录或文件夹的名称,如在系统文件浏览器中显示的那样。来自Windows的示例:"M:\"目录显示为"CD-ROM (M:)"。默认实现从ShellFolder类获取信息。- 参数:
- f - File对象
- 返回:
- 文件名,如本地文件选择器中显示的那样
- 自1.4起:
- 1.4
- 参见:
-
getSystemTypeDescription
文件、目录或文件夹的类型描述,如在系统文件浏览器中显示的那样。来自Windows的示例:"桌面"文件夹描述为"桌面"。覆盖具有本机ShellFolder实现的平台。- 参数:
- f - File对象
- 返回:
- 文件类型描述,如本机文件选择器中显示的那样,如果没有本机信息可用,则返回null。
- 自1.4起:
- 1.4
- 参见:
-
getSystemIcon
文件、目录或文件夹的图标,如在系统文件浏览器中显示的那样。来自Windows的示例:"M:\"目录显示为CD-ROM图标。默认实现从ShellFolder类获取信息。
- 参数:
- f - File对象
- 返回:
- 作为本机文件选择器中显示的图标
- 自1.4起:
- 1.4
- 参见:
-
getSystemIcon
返回文件、目录或文件夹的图标,如在系统文件浏览器中显示的那样,以请求的大小显示。示例:
FileSystemView fsv = FileSystemView.getFileSystemView(); Icon icon = fsv.getSystemIcon(new File("application.exe"), 64, 64); JLabel label = new JLabel(icon);- 实现要求:
- 可用的图标可能是特定于平台的,因此可用大小由平台确定。因此,可能无法完全匹配请求大小。返回的图标可能是多分辨率图标图像,可更好地支持具有不同缩放因子的高DPI环境。
- 参数:
- f - 将检索图标的File对象
- width - 用户坐标系统中图标的宽度
- height - 用户坐标系统中图标的高度
- 返回:
- 作为本机文件选择器中显示的图标,对于不存在或无法访问的文件返回null。
- 抛出:
-
IllegalArgumentException- 如果传递了无效参数,如负大小或空文件引用 - 自17起:
- 17
- 参见:
-
isParent
在Windows上,文件可以出现在多个文件夹中,而不仅仅是其父目录在文件系统中。例如,文件夹可以是“桌面”文件夹,它与file.getParentFile()不同。- 参数:
- folder - 表示目录或特殊文件夹的File对象
- file - File对象
- 返回:
- 如果folder是目录或特殊文件夹并包含file,则返回true。
- 自1.4起:
- 1.4
-
getChild
返回一个File对象,通常使用new File(parent, fileName)构造,除非父文件夹和子文件夹都是特殊文件夹,此时File是一个包含ShellFolder对象的包装器。- 参数:
- parent - 表示目录或特殊文件夹的File对象
- fileName - 存在于parent中的文件或文件夹的名称
- 返回:
- 一个File对象。
- 自1.4起:
- 1.4
-
isFileSystem
检查f是否表示真实目录或文件,而不是诸如“桌面”之类的特殊文件夹。UI类使用它来确定在进行目录选择时是否可选择文件夹。- 参数:
- f - File对象
- 返回:
- 如果f是真实文件或目录,则返回true。
- 自1.4起:
- 1.4
-
createNewFolder
创建一个具有默认文件夹名称的新文件夹。- 参数:
-
containingDir- 一个表示包含新文件夹的目录的File对象 - 返回:
-
一个表示新创建文件夹的
File对象 - 抛出:
-
IOException- 如果无法创建新文件夹
-
isHiddenFile
返回文件是否隐藏。- 参数:
-
f- 一个File对象 - 返回:
-
如果给定的
File表示一个隐藏文件,则返回true
-
isFileSystemRoot
dir是否是文件系统中树的根,例如驱动器或分区。例如:在Windows 98上,对"C:\"返回true。- 参数:
-
dir- 表示目录的File对象 - 返回:
-
如果
f是文件系统的根,则返回true - 自版本:
- 1.4
- 参见:
-
isDrive
UI类使用此方法来决定是否为驱动器或分区显示特殊图标,例如"硬盘"图标。默认实现无法知道,因此始终返回false。- 参数:
-
dir- 一个目录 - 返回:
-
始终返回
false - 自版本:
- 1.4
-
isFloppyDrive
UI类使用此方法来决定是否为软盘显示特殊图标。意味着isDrive(dir)。默认实现无法知道,因此始终返回false。- 参数:
-
dir- 一个目录 - 返回:
-
始终返回
false - 自版本:
- 1.4
-
isComputerNode
UI类使用此方法来决定是否为计算机节点显示特殊图标,例如"我的电脑"或网络服务器。默认实现无法知道,因此始终返回false。- 参数:
-
dir- 一个目录 - 返回:
-
始终返回
false - 自版本:
- 1.4
-
getRoots
返回此系统上所有根分区。例如,在Windows上,这将是"桌面"文件夹,而在DOS上将是A:到Z:驱动器。- 返回:
-
一个表示此系统上所有根分区的
File对象数组
-
getHomeDirectory
返回主目录。- 返回:
- 主目录
-
getDefaultDirectory
返回文件选择器的用户默认起始目录。- 返回:
-
一个表示默认起始文件夹的
File对象 - 自版本:
- 1.4
-
createFileObject
根据给定的文件名在dir中构造一个文件对象。- 参数:
-
dir- 表示目录的抽象路径名 -
filename- 路径名的String表示 - 返回:
-
从
dir和filename创建的File对象
-
createFileObject
根据给定的路径字符串构造一个文件对象。- 参数:
-
path- 路径的String表示 - 返回:
-
从给定
path创建的File对象
-
getFiles
获取显示的文件列表(即非隐藏文件)。- 参数:
-
dir- 要返回的文件的根目录 -
useFileHiding- 确定是否返回隐藏文件 - 返回:
-
包括给定
dir中的文件和目录的File对象数组。如果useFileHiding为false,则包括隐藏文件。
-
getParentDirectory
返回dir的父目录。- 参数:
-
dir- 被查询的File - 返回:
-
dir的父目录,如果dir为null则返回null
-
getChooserComboBoxFiles
返回表示文件选择器中将显示的值的文件数组。- 返回:
-
一个
File对象数组。如果没有适当的权限,则返回的数组可能为空。 - 自版本:
- 9
-
getChooserShortcutPanelFiles
返回表示文件选择器快捷方式面板中默认显示的值的文件数组。- 返回:
-
一个
File对象数组。如果没有适当的权限,则返回的数组可能为空。 - 自版本:
- 12
-
isLink
返回指定文件是否表示可以通过getLinkLocation(File)获得的shell解释链接。- 参数:
-
file- 一个文件 - 返回:
- 是否为链接
- 抛出:
-
NullPointerException- 如果file等于null -
SecurityException- 如果调用者没有必要的权限 - 自版本:
- 9
- 参见:
-
getLinkLocation
如果指定文件是shell解释链接,则返回指定链接文件引用的常规文件。如果指定文件不是shell解释链接,则返回null。- 参数:
-
file- 一个文件 - 返回:
-
链接的文件或
null - 抛出:
-
FileNotFoundException- 如果链接的文件不存在 -
NullPointerException- 如果file等于null -
SecurityException- 如果调用者没有必要的权限 - 自版本:
- 9
-
createFileSystemRoot
为文件系统根目录的文件系统根目录行为创建一个新的File对象。- 参数:
-
f- 表示文件系统根目录的File对象,例如Unix上的"/"或Windows上的"C:\" - 返回:
-
一个新的
File对象 - 自版本:
- 1.4
-