RFR: 8303972: Make test/jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java independent of the zip command line [v3]

Eirik Bjorsnos duke at openjdk.org
Fri Mar 10 21:18:14 UTC 2023


On Fri, 10 Mar 2023 16:58:38 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Not sure I understand. I could use FileChannel.open with SPARSE (which btw is ignored by the implementation:), but that doesn't give me an OutputStream I can pass to ZipOutputStream?
>> 
>> I could use Channels.newOutputStream, but that would not create holes in the sparse files?
>> 
>> My current thinking is that we need the SparseOutputStream to detect that ZIpOutputStream is writing empty bytes and replace that with `channel.position(channel.position() + len)`
>
>> Not sure I understand. I could use FileChannel.open with SPARSE (which btw is ignored by the implementation:)
> 
> That is true on platforms where files can be sparse by default. On Windows you'll see this translates to create the file as sparse, it needs to be opt-in when creating the file.

I opted to create a small-sized Zip64 file instead (see below). This file does not need to be sparse.

-------------

PR: https://git.openjdk.org/jdk/pull/12979


More information about the nio-dev mailing list