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?
File. exists() is used to check whether a file or a directory exists or not. This method returns true if the file or directory specified by the abstract path name exists and false if it does not exist.
File exists() method in Java with examples The exists() function is a part of the File class in Java. This function determines whether the is a file or directory denoted by the abstract filename exists or not. The function returns true if the abstract file path exists or else returns false.
os. path. isdir() method in Python is used to check whether the specified path is an existing directory or not.
new File(dir).getCanonicalFile().isDirectory();
Skeleton for your reference:-
File f = new File("....");
if (!f.exists()) {
// The directory does not exist.
...
} else if (!f.isDirectory()) {
// It is not a directory (i.e. it is a file).
...
}
Well, even if the check would be correct, you can never be sure that the directory still exists after the if
condition 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.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With