Каковы параметры «env» (и их назначение) при создании файловой системы Java NIO?

#java #filesystems #nio

#java #файловые системы #nio

Вопрос:

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

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

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

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

Ответ №1:

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.