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 af39a06544
commit 5b9c304148
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 * @param directory the directory to create
* @throws IOException * @throws IOException if unable to create temporary directory or it is not a directory
*/ */
private void createTempDirectory(File directory) throws IOException { 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 + "'"); 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 @Override