Каковы параметры «env» (и их назначение) при создании файловой системы Java NIO? - PullRequest
2 голосов
/ 18 апреля 2019

В сети существует множество примеров создания экземпляров файловой системы Java NIO с использованием кода, подобного этому

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

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

Но какие поддерживаемые параметры можно поместить в карту env?И для чего они хороши?

1 Ответ

2 голосов
/ 18 апреля 2019

Javadoc для FileSystem.newFileSystem(URI uri, Map<String,​?> env) указывает

env - карта специфичных для провайдера свойств для настройки файловой системы;может быть пустым

Так что это зависит от типа провайдера, который создаст новый FileSystem для данного uri.

В вашем примере вы предоставили URI, предположительно представляющий ZIP-файл.Это обслуживается провайдером файловой системы Zip , свойства которого определены здесь .Это

  • "create": true / false

    Значение должно быть типа java.lang.String.Значение по умолчанию false.Если значение равно true, поставщик файловой системы zip создает новый zip-файл, если он не существует.

  • "encoding": String, указывая схему кодирования

    Значение должно быть типа java.lang.String.Значение свойства указывает схему кодирования для имен записей в файле zip или JAR.Значением по умолчанию является UTF-8.

...