Создание разреженного файла в Java на NTFS - PullRequest
3 голосов
/ 22 марта 2019

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

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

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

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

1 Ответ

2 голосов
/ 22 марта 2019

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

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