bug 57200,59788: be more specific why a temporary directory could not be created

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1761667 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Javen O'Neal 2016-09-21 03:19:31 +00:00
parent 2be1834545
commit deed3aa8d6
1 changed files with 11 additions and 4 deletions

View File

@ -83,15 +83,22 @@ public class DefaultTempFileCreationStrategy implements TempFileCreationStrategy
}
/**
* Attempt to create a directory
* Attempt to create a directory, including any necessary parent directories.
* Does nothing if directory already exists.
*
* @param directory
* @throws IOException
* @param directory the directory to create
* @throws IOException if unable to create temporary directory or it is not a directory
*/
private void createTempDirectory(File directory) throws IOException {
if (!(directory.exists() || directory.mkdirs()) || !directory.isDirectory()) {
// create directory if it doesn't exist
final boolean dirExists = (directory.exists() || directory.mkdirs());
if (!dirExists) {
throw new IOException("Could not create temporary directory '" + directory + "'");
}
else if (!directory.isDirectory()) {
throw new IOException("Could not create temporary directory. '" + directory + "' exists but is not a directory.");
}
}
@Override