Code:
String dir = //Path to the directory
File saveDir = new File(dir);
//Here comes the existence check
if(!saveDir.exists())
saveDir.mkdirs();
This part of code is used to save files with a given directory path to file system. Before saving i want to check whether the given save directory exists. However the existence check do not seem to work in the way that i wanted. Without removing the if clause the desired directories are not created.I came across to this interesting stack question while searching for my problem.
Alternative to File.exists() in Java. As i understand java.io has this problem.
Is there a proper and safe way to check the existance of a directory or resource while doing file operations?
Well, even if the check would be correct, you can never be sure that the directory still exists after the
ifcondition has been evaluated. Another process or user can just create/remove it. So you have to check if the operation fails (possibly catching the appropriate exception) anyway.So you shouldn’t rely on checks and expect the worst case always. (Well, the checks may be useful for preventing you from doing something unnecessary, or for asking user for confirmation etc. But they don’t guarantee anything.)