RFR: 8297814: (fs) Re-visit Path.getExtension return value
Brian Burkhalter
bpb at openjdk.org
Tue Dec 6 19:08:22 UTC 2022
On Tue, 6 Dec 2022 19:02:07 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> Revise `java.nio.file.Path::getExtension` never to return `null` and to simplify implementing other path manipulations such as removing and replacing the file name extension.
>
> src/java.base/share/classes/java/nio/file/Path.java line 278:
>
>> 276: * return "";
>> 277: * else if (lastPeriod == fileName.length() - 1)
>> 278: * return ".";
>
> I believe you could remove these two lines (277-278) - as the case where the last period is the last character in the string should now fold into the case where it is followed by some (non-period) characters.
Yes, I was aware of that but decided to leave it in and get comments.
> src/java.base/share/classes/java/nio/file/Path.java line 305:
>
>> 303: // the extension is "." if the last dot is the last character
>> 304: if (lastDot == fileNameString.length() - 1) // lastDot > 0
>> 305: return ".";
>
> Although this is not needed it's probably a good optimization.
That was my thought.
-------------
PR: https://git.openjdk.org/jdk/pull/11545
More information about the nio-dev
mailing list