2.5.8 ZIP文件系统

Paths类会在默认文件系统中查找路径,即在用户本地磁盘中的文件。你也可以有别的文件系统,其中最有用的之一是ZIP文件系统。如果zipname是某个ZIP文件的名字,那么下面的调用

将建立一个文件系统,它包含ZIP文档中的所有文件。如果知道文件名,那么从ZIP文档中复制出这个文件就会变得很容易:

其中,fs.getPath对于任意文件系统来说,都与Paths.get类似。

要列出ZIP文档中的所有文件,可以遍历文件树:

这比2.3.3节中描述的API要好用,它使用的是多个专门处理ZIP文档的新类。

java.nio.file.FileSystems7

·static FileSystem newFileSystem(Path path,ClassLoader loader)

对所安装的文件系统提供者进行迭代,并且如果loader不为null,那么就还迭代给定的类加载器能够加载的文件系统,返回由第一个可以接受给定路径的文件系统提供者创建的文件系统。默认情况下,对于ZIP文件系统是有一个提供者的,它接受名字以.zip或.jar结尾的文件。

java.nio.file.FileSystem7

·static Path getPath(String first,String...more)

将给定的字符串连接起来创建一个路径。