True if File exists and can be accessed by this Prolog 
process under mode Mode. Mode is one of the atoms
read, write, append, execute,
search, exist, or none. Fails 
silently otherwise.
File may also be the name of a directory.
access_file(File, none) simply succeeds without testing 
anything.
If Mode is write or append, this 
predicate also succeeds if the file does not exist and the user has 
write access to the directory of the specified location.
The mode execute is only intended for use with regular 
files and the mode search only with directories. However, 
the two modes are currently equivalent and both can be used with either 
files or directories. This may change in the future, so the results of 
checking execute access on directories or search 
access on regular files should not be relied on.
The behaviour is backed up by the POSIX access() API. The 
Windows replacement (_waccess()) returns incorrect results 
because it does not consider ACLs (Access Control Lists). The Prolog 
flag
win_file_access_check 
may be used to control the level of checking performed by Prolog. Please 
note that checking access never provides a guarantee that a subsequent 
open succeeds without errors due to inherent concurrency in file 
operations. It is generally more robust to try and open the file and 
handle possible exceptions. See open/4 
and
catch/3.