Java-API简析_java.nio.file.FileSystem类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131768534
出自【进步*于辰的博客】

因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述

1、概述

实现的所有接口
Closeable , AutoCloseable


public abstract class FileSystem extends Object implements Closeable

提供文件系统的接口,是用于访问文件系统中的文件和其他对象的对象的工厂。

通过调用FileSystems.getDefault()方法获得的默认文件系统提供对Java虚拟机可访问的文件系统的访问。 FileSystems类定义了创建文件系统的方法,这些文件系统提供对其他类型(自定义)文件系统的访问。

文件系统是几种类型对象的工厂:

  • getPath()方法转换系统相关的路径字符串 ,返回可用于查找访问文件Path对象
  • getPathMatcher()方法用于创建在路径上执行匹配操作的PathMatcher 。
  • getFileStores()方法在底层file-stores上返回一个迭代器
  • getUserPrincipalLookupService()方法返回UserPrincipalLookupService以按名称查找用户
  • newWatchService()方法创建一个WatchService ,可用于监视对象的更改和事件

文件系统差别很大。 在某些情况下,文件系统是具有一个顶级根目录单个文件层次结构。 在其他情况下,它可能有几个不同的文件层次结构,每个层次结构都有自己的顶级根目录。 getRootDirectories()方法可用于迭代文件系统中的根目录。 文件系统通常由一个或多个底层file-stores组成,它们为文件提供存储。 这些文件存储也可以在它们支持的功能以及它们与文件关联的文件属性元数据方面有所不同。

文件系统在创建时打开,可以通过调用其close()方法来关闭。 关闭后,任何进一步尝试访问文件系统中的对象都会导致引发ClosedFileSystemException 。 无法关闭由默认provider创建的文件系统

FileSystem可以提供对文件系统的只读读写访问。 创建FileSystem时,是否建立了文件系统是否提供只读访问权限,并且可以通过调用其isReadOnly()方法进行测试。 尝试通过与只读文件系统关联的对象写入文件存储会抛出ReadOnlyFileSystemException 。

文件系统可以安全地由多个并发线程使用。 可以随时调用close()方法来关闭文件系统,但是文件系统是否是异步可关闭的是提供者特定的,因此未指定。 换句话说,如果一个线程正在访问文件系统中的一个对象,而另一个线程调用close()方法,那么它可能需要阻塞直到第一个操作完成。 关闭文件系统会导致关闭与文件系统关联的所有打开的通道,监视服务和其他closeable对象。

从以下版本开始:
1.7


本文持续更新中。。。

你可能感兴趣的:(Java-API,Java-API简析,FileSystem)