mirror of https://github.com/apache/poi.git
add back check for if dir already exists
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1917583 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c960ee6070
commit
efce9ba930
|
@ -77,15 +77,23 @@ public class DefaultTempFileCreationStrategy implements TempFileCreationStrategy
|
|||
// Create our temp dir only once by double-checked locking
|
||||
// The directory is not deleted, even if it was created by this TempFileCreationStrategy
|
||||
if (dir == null) {
|
||||
final String tmpDir = System.getProperty(JAVA_IO_TMPDIR);
|
||||
if (tmpDir == null) {
|
||||
throw new IOException("System's temporary directory not defined - set the -D" + JAVA_IO_TMPDIR + " jvm property!");
|
||||
}
|
||||
dirLock.lock();
|
||||
try {
|
||||
if (dir == null) {
|
||||
String tmpDir = System.getProperty(JAVA_IO_TMPDIR);
|
||||
if (tmpDir == null) {
|
||||
throw new IOException("System's temporary directory not defined - set the -D" + JAVA_IO_TMPDIR + " jvm property!");
|
||||
}
|
||||
Path dirPath = Paths.get(tmpDir, POIFILES);
|
||||
dir = Files.createDirectories(dirPath).toFile();
|
||||
File fileDir = dirPath.toFile();
|
||||
if (fileDir.exists()) {
|
||||
if (!fileDir.isDirectory()) {
|
||||
throw new IOException("Could not create temporary directory. '" + fileDir + "' exists but is not a directory.");
|
||||
}
|
||||
dir = fileDir;
|
||||
} else {
|
||||
dir = Files.createDirectories(dirPath).toFile();
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
dirLock.unlock();
|
||||
|
|
Loading…
Reference in New Issue