8000330: (fc) FileChannel.truncate issues when given size (original) (raw)

Alan Bateman Alan.Bateman at oracle.com
Sat Nov 3 14:20:01 PDT 2012


This mail concerns a couple of the issues that Jeff Hain has brought up on the list in the last few days.

8000330 concerns the issues with FileChannel's truncate method when invoked with a size that is greater than the current size. This case doesn't change the file of course but it should change the channel's position when it is beyond the given size. This case has an additional corner case when the file is opened for reading that isn't handled properly in the current implementation.

8002180 is just that FileChannel.map doesn't throw NullPointerException when invoked with a MapMode of null.

The webrev with the proposed changes is here:

http://cr.openjdk.java.net/~alanb/8000330+8002180/webrev/

The changes are trivial, with most of the changes just adding additional tests. They aren't issues that most applications are likely to run into but they are issues that should have been caught by tests back in jdk1.4. Note that the changes to MapTest are less than what might seem initially, this is because I updated the existing test to use try-with-resources. I should also note that FileChannelImpl.map is deliberately not using Objects.requireNonNull, this is because there are several pre-conditions to check and I'm trying to keep them consistent.

Thanks,

Alan.



More information about the nio-dev mailing list