创建Java NIO文件系统时,“ env”选项(及其用途)是什么?

时间:2019-04-18 14:14:12

标签: java filesystems nio

网上有很多使用这样的代码创建Java NIO Filesystem实例的示例

    Map<String, String> env = new HashMap<String, String>();
    env.put("create", "true");

    FileSystem zipfs = FileSystems.newFileSystem(zipUri, env);

但是可以在“ env”映射中放置哪些受支持的选项?他们有什么用?

1 个答案:

答案 0 :(得分:2)

FileSystem.newFileSystem(URI uri, Map<String,​?> env)的Javadoc指定

  

env -提供程序特定属性的映射,用于配置文件系统;可能为空

因此,这些取决于将为给定FileSystem创建新的uri的提供程序的类型。

在您的示例中,您提供了一个URI大概代表一个ZIP文件。这由其属性定义为Zip File System Providerhere提供。那些是

  • "create" true / false
      

    该值应为java.lang.String类型。默认值为false。如果值为true,则zip文件系统提供程序将创建一个新的zip文件(如果该文件不存在)。

  • "encoding" String表示编码方案
      

    该值应为java.lang.String类型。该属性的值指示zip或JAR文件中条目名称的编码方案。默认值为UTF-8。