Deleting symbolic links via the java.nio.file.Path API

Alan Bateman Alan.Bateman at oracle.com
Mon Jan 31 02:39:27 PST 2011


fm wrote:
> Sorry. I was being careless when I threw the checkAccess method into
> my conversation...I didn't think that one through. You are right,
> checkAccess does not seem to make sense for the symbolic links
> themselves (as opposed to their targets).
>
> However, I believe my concern with respect to checking the existence
> of symbolic links with the exists method is still reasonable.
>
> Just to provide another example. The following code throws a
> FileAlreadyExistsException when somePath corresponds to a broken
> symbolic link.
>
>    try {
>       if (!somePath.exists())       // or use somePath.notExists()
>          somePath.createFile();
>    }
>    catch (FileAlreadyExistsException e) {
>       System.err.println("File exists!?!");
>    }
>    catch (IOException e) { }
>
> Being able to call something like
> "somePath.exists(LinkOption.NOFOLLOW_LINKS)" would be helpful.
>   
Just to follow up on this thread (from 10/2010). With the latest updates 
that were recently pushed then the exists method has the LinkOption[] 
parameter as discussed. This means that exists(path) will follow sym 
links, and exists(path, NOFOLLOW_LINKS) will not. Same thing for the 
isDirectory and isRegularFile methods. Thanks again for bringing this up.

-Alan.


More information about the nio-dev mailing list