模块  java.base
软件包  java.nio.file

Class FileStore


  • public abstract class FileStore
    extends Object
    存储文件。 FileStore表示存储池,设备,分区,卷,具体文件系统或其他特定于实现的文件存储方式。 所述FileStore一个文件的存储位置是通过调用获得getFileStore方法,或所有文件存储可以通过调用被枚举getFileStores方法。

    除了此类定义的方法之外,文件存储可以支持一个或多个FileStoreAttributeView类,这些类提供一组文件存储属性的只读或可更新视图。

    从以下版本开始:
    1.7
    • 构造方法详细信息

      • FileStore

        protected FileStore()
        初始化此类的新实例。
    • 方法详细信息

      • name

        public abstract String name()
        返回此文件存储的名称。 名称的格式是高度特定于实现的。 它通常是存储池或卷的名称。

        此方法返回的字符串可能与toString方法返回的字符串不同。

        结果
        此文件存储的名称
      • 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-nameAttributeViewname ,用于标识一组文件属性。 attribute-name属性的名称

        用法示例:假设我们想知道是否启用了ZFS压缩(假设支持“zfs”视图):

          boolean compression = (Boolean)fs.getAttribute("zfs:compression"); 
        参数
        attribute - 要读取的属性
        结果
        属性值; null可能对某些属性有效
        异常
        UnsupportedOperationException - 如果属性视图不可用或不支持读取属性
        IOException - 如果发生I / O错误