[bug-69715] in DefaultTempFileCreationStrategy, check that dir exists

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1926422 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2025-06-14 21:02:34 +00:00
parent a6f65db642
commit c5ca5ae065

View File

@ -65,14 +65,27 @@ public class DefaultTempFileCreationStrategy implements TempFileCreationStrategy
}
/**
* Creates the strategy allowing to set the
* Creates the strategy allowing to set a custom directory for the temporary files.
* <p>
* If you provide a non-null dir as input, it must be a directory and must already exist.
* Since POI 5.4.2, this is checked at construction time. In previous versions, it was checked
* at the first call to {@link #createTempFile(String, String)} or {@link #createTempDirectory(String)}.
* </p>
*
* @param dir The directory where the temporary files will be created (<code>null</code> to use the default directory).
*
* @throws IllegalArgumentException if the provided directory does not exist or is not a directory
* @see Files#createTempFile(Path, String, String, FileAttribute[])
*/
public DefaultTempFileCreationStrategy(File dir) {
this.dir = dir;
if (dir != null) {
if (!dir.exists()) {
throw new IllegalArgumentException("The provided directory does not exist: " + dir);
}
if (!dir.isDirectory()) {
throw new IllegalArgumentException("The provided file is not a directory: " + dir);
}
}
}
@Override