Создание разреженного файла на Java в NTFS

#java #windows #nio

#java #Windows #nio

Вопрос:

Эта команда должна создать разреженный файл:

 channel = Files.newByteChannel(path, EnumSet.of(CREATE,WRITE,SPARSE));
  

Однако он просто создает обычный (не разреженный) файл. Я могу вручную превратить его в разреженный файл с помощью fsutil командной строки, но как я могу заставить среду выполнения Java сделать это?

Я использую Java 11 в Windows 10 (NTFS).

Ответ №1:

По-видимому, создание разреженного файла работает только с OpenOption CREATE_NEW (который заменяет любой существующий файл), но не с CREATE (который создает файл, только если он не существует).

 channel = Files.newByteChannel(path, EnumSet.of(CREATE_NEW,WRITE,SPARSE));