8032220: Files.createDirectories throws exception with confusing message for root directories that exist

Chris Hegarty chris.hegarty at oracle.com
Mon Jan 20 12:54:45 PST 2014


Looks ok to me Alan.

-Chris.

On 20 Jan 2014, at 19:36, Alan Bateman <Alan.Bateman at oracle.com> wrote:

> 
> This one came up on nio-discuss a few days ago.
> 
> The issue is that Files.createDirectories fails on some platforms when called with a path to a root directory that exists. The exception (which is misleading) happens on OS X and Windows (Linux and Solaris are okay).
> 
> On OS X then the issue is that mkdir fails with EISDIR when you attempt to use it to create /. On Windows it's because the win32 CreateDirectory fails with an ERROR_ACCESS_DENIED for this case. I've updated both implementations to better handle this case so that createDirectory throws the expected FileAlreadyExistsException. I've also tweaked the exception throw by createDirectories so it's less confusing for the case that the root directory is not accessible. The webrev with the changes is here:
> 
> http://cr.openjdk.java.net/~alanb/8032220/webrev/
> 
> -Alan.



More information about the nio-dev mailing list