Creating a sparse file in Java on NTFS

Tony the Pony :

This command should create a sparse file:

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

However, it just creates a regular (non-sparse) file. I can manually turn it into a sparse file using fsutil on the command line, but how can I get the Java Runtime to do this?

I am using Java 11 on Windows 10 (NTFS).

Tony the Pony :

Apparently, creating a sparse file only works with OpenOption CREATE_NEW (which replaces any existing file), but not with CREATE (which only creates the file if it doesn't exist).

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

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=100927&siteId=1