On Fri, 30 Oct 2026 13:17:35 GMT, Volkan Yazici <[email protected]> wrote:
> Fix `RandomAccessFile#skipBytes(int)` and overhaul associated tests.
>
> ### Testing notes
>
> `SkipBytes` has gone through a major facelift.
>
> - Past EOF `getFilePointer()` check was broken, fixed in f15ccfaf.
> - `new RandomAccessFile("input.txt" , "rw")` was not working at all. File
> needed to be passed via `new File(System.getProperty("test.src", "."),
> "input.txt")`. Fixed in f4300dbb.
> - `input.txt` doesn't need to be VCS-tracked. Removed it in f4300dbb.
> - Extended the tests to reproduce the issue, see 049ae7c5. New cases are
> cloned from 46d34868 delivered in [JDK-8394316].
> - Migrated the tests to JUnit, see 02ac947c.
>
> [JDK-8394316]: https://bugs.openjdk.org/browse/JDK-8394316
>
> ---------
> - [X] I confirm that I make this contribution in accordance with the [OpenJDK
> Interim AI Policy](https://openjdk.org/legal/ai).
src/java.base/share/classes/java/io/RandomAccessFile.java line 530:
> 528: return 0;
> 529: }
> 530: long newpos = len - pos > n ? pos + n : len;
I think this is a lot less readable. Can you keep pos = getFilePosition() and
len = length() rather than assigning them in the if statement. Then you can add
a long remaining or long skipped so it's much more readable (len - pos > n is
just too subtle and hard to read).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/33649#discussion_r4424547856