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