java.lang.Object
javax.swing.filechooser.FileSystemView
FileSystemView是JFileChooser与文件系统交互的入口。由于JDK1.1文件API不允许访问诸如根分区、文件类型信息或隐藏文件位等信息,因此该类旨在尽可能地推断操作系统特定的文件系统信息。
Java许可证持有人可能希望提供FileSystemView的不同实现,以更好地处理特定操作系统。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateFileObject
(File dir, String filename) 从给定的文件名在dir中构造一个File对象。createFileObject
(String path) 从给定路径字符串构造一个File对象。protected File
为f创建一个新的File对象,具有文件系统根目录的正确行为。abstract File
createNewFolder
(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) 返回文件、目录或文件夹的图标,以请求的大小在系统文件浏览器中显示。文件、目录或文件夹的类型描述,如在系统文件浏览器中显示的那样。boolean
isComputerNode
(File dir) 用于UI类来决定是否为计算机节点显示特殊图标,例如。boolean
用于UI类来决定是否为驱动器或分区显示特殊图标,例如“硬盘”图标。boolean
isFileSystem
(File f) 检查f是否表示真实目录或文件,而不是诸如“桌面”之类的特殊文件夹。boolean
isFileSystemRoot
(File dir) dir是否是文件系统中树的根,例如驱动器或分区。boolean
isFloppyDrive
(File dir) 用于UI类来决定是否为软盘显示特殊图标。boolean
isHiddenFile
(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
-