- java.lang.Object
-
- java.nio.file.FileStore
-
public abstract class FileStore extends Object
存储文件。FileStore
表示存储池,设备,分区,卷,具体文件系统或其他特定于实现的文件存储方式。 所述FileStore
一个文件的存储位置是通过调用获得getFileStore
方法,或所有文件存储可以通过调用被枚举getFileStores
方法。除了此类定义的方法之外,文件存储可以支持一个或多个
FileStoreAttributeView
类,这些类提供一组文件存储属性的只读或可更新视图。- 从以下版本开始:
- 1.7
-
-
构造方法摘要
构造方法 变量 构造器 描述 protected
FileStore()
初始化此类的新实例。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract Object
getAttribute(String attribute)
读取文件存储属性的值。long
getBlockSize()
返回此文件存储中每个块的字节数。abstract <V extends FileStoreAttributeView>
VgetFileStoreAttributeView(类<V> type)
返回给定类型的FileStoreAttributeView
。abstract long
getTotalSpace()
返回文件存储的大小(以字节为单位)。abstract long
getUnallocatedSpace()
返回文件存储中未分配的字节数。abstract long
getUsableSpace()
返回文件存储上此Java虚拟机可用的字节数。abstract boolean
isReadOnly()
判断此文件存储是否为只读。abstract String
name()
返回此文件存储的名称。abstract boolean
supportsFileAttributeView(类<? extends FileAttributeView> type)
判断此文件存储是否支持给定文件属性视图标识的文件属性。abstract boolean
supportsFileAttributeView(String name)
判断此文件存储是否支持给定文件属性视图标识的文件属性。abstract String
type()
返回此文件存储的 类型 。
-
-
-
方法详细信息
-
name
public abstract String name()
- 结果
- 此文件存储的名称
-
type
public abstract String type()
返回此文件存储的类型 。 此方法返回的字符串格式具有高度特定于实现的格式。 例如,它可以指示所使用的格式或文件存储是本地还是远程。- 结果
- 表示此文件存储类型的字符串
-
isReadOnly
public abstract boolean isReadOnly()
判断此文件存储是否为只读。 如果文件存储不支持写入操作或对文件的其他更改,则它是只读的。 任何尝试创建文件,打开现有文件以进行写入等都会导致抛出IOException
。- 结果
-
true
当且仅当此文件存储是只读的时
-
getTotalSpace
public abstract long getTotalSpace() throws IOException
返回文件存储的大小(以字节为单位)。- 结果
- 文件存储的大小,以字节为单位
- 异常
-
IOException
- 如果发生I / O错误
-
getUsableSpace
public abstract long getUsableSpace() throws IOException
返回文件存储上此Java虚拟机可用的字节数。返回的可用字节数是一个提示,但不能保证可以使用大多数或任何这些字节。 在获得空间属性之后,可用字节数最有可能是准确的。 任何外部I / O操作(包括在此Java虚拟机之外的系统上进行的操作)都可能使其不准确。
- 结果
- 可用的字节数
- 异常
-
IOException
- 如果发生I / O错误
-
getBlockSize
public long getBlockSize() throws IOException
返回此文件存储中每个块的字节数。文件存储通常被组织成称为块的离散字节序列。 块是文件存储的最小存储单元。 每个读写操作都在多个块上执行。
- 实现要求:
-
此类中的实现抛出
UnsupportedOperationException
。 - 结果
- 表示此文件存储的块大小的正值,以字节为单位
- 异常
-
IOException
- 如果发生I / O错误 -
UnsupportedOperationException
- 如果不支持该操作 - 从以下版本开始:
- 10
-
getUnallocatedSpace
public abstract long getUnallocatedSpace() throws IOException
返回文件存储中未分配的字节数。返回的未分配字节数是一个提示,但不能保证可以使用大多数或任何这些字节。 获得空间属性后,未分配的字节数最有可能是准确的。 任何外部I / O操作(包括在此虚拟机外部的系统上进行的操作)都可能使其不准确。
- 结果
- 未分配的字节数
- 异常
-
IOException
- 如果发生I / O错误
-
supportsFileAttributeView
public abstract boolean supportsFileAttributeView(类<? extends FileAttributeView> type)
判断此文件存储是否支持给定文件属性视图标识的文件属性。调用此方法来测试文件存储是否支持
BasicFileAttributeView
将始终返回true
。 对于默认提供程序,当文件存储不是本地存储设备时,此方法无法保证提供正确的结果。 其原因是特定于实现,因此未指定。- 参数
-
type
- 文件属性视图类型 - 结果
-
true
是否且仅当支持文件属性视图时
-
supportsFileAttributeView
public abstract boolean supportsFileAttributeView(String name)
判断此文件存储是否支持给定文件属性视图标识的文件属性。调用此方法以测试文件存储是否支持
BasicFileAttributeView
(由名称“basic
”标识)将始终返回true
。 对于默认提供程序,当文件存储不是本地存储设备时,此方法无法保证提供正确的结果。 其原因是特定于实现,因此未指定。- 参数
-
name
- 文件属性视图的name
- 结果
-
true
当且仅当支持文件属性视图时
-
getFileStoreAttributeView
public abstract <V extends FileStoreAttributeView> V getFileStoreAttributeView(类<V> type)
返回给定类型的FileStoreAttributeView
。此方法适用于文件存储属性视图定义用于读取或更新文件存储属性的类型安全方法的情况。
type
参数是所需属性视图的类型,如果支持,该方法将返回该类型的实例。- 参数类型
-
V
-FileStoreAttributeView
类型 - 参数
-
type
- 对应于属性视图的类
对象 - 结果
-
指定类型的文件存储属性视图,如果属性视图不可用,
null
-
getAttribute
public abstract Object getAttribute(String attribute) throws IOException
读取文件存储属性的值。attribute
参数标识要读取的属性并采用以下形式:view-name : attribute-name
字符':'
代表自己。view-name是
AttributeView
的name
,用于标识一组文件属性。 attribute-name是属性的名称 。用法示例:假设我们想知道是否启用了ZFS压缩(假设支持“zfs”视图):
boolean compression = (Boolean)fs.getAttribute("zfs:compression");
- 参数
-
attribute
- 要读取的属性 - 结果
-
属性值;
null
可能对某些属性有效 - 异常
-
UnsupportedOperationException
- 如果属性视图不可用或不支持读取属性 -
IOException
- 如果发生I / O错误
-
-