RFR 8057113: (fs) Path should have a method to test the filename extension
Alan.Bateman at oracle.com
Mon Feb 19 08:39:49 UTC 2018
On 16/02/2018 21:34, Roger Riggs wrote:
> To keep it simple, the last "." that is not the first character can be
> the delimiter for the extension.
> "." ext ""
> ".." ext ""
> ".a.b" ext "b"
> "......." ext ""
> ".....a" ext "a"
> "....a.b" ext "b"
> "..foo" ext "foo"
> It might be useful to check how native unix utilities parse these cases
Yes, a small survey is needed before proposing how some of the corner
cases should work. In the above, you'll find that Python splitpath will
split "..foo" into "..foo" and "". I believe .NET's Path.GetExtension
is simply the equivalent of lastIndexOf. The need for a survey is
something that came up when this issue was look into a long time ago.
One other thing is to consider whether getExtension is the right way to
expose this. I've no doubt it will be followed by a request to add a
method that returns the file name without the extension so we need to
see how that will work. At one point we had a prototype of a split
method that returned the name + extension pair, as 2 element String
array - I'm not saying that is the best solution of course.
More information about the nio-dev