Author: fanningpj
Date: Fri Sep 13 11:09:21 2024
New Revision: 1920610
URL: http://svn.apache.org/viewvc?rev=1920610&view=rev
Log:
[bug-69323] DefaultTempFileCreationStrategy should worry about OS deleting the
temp dir. Thanks to Palle Girgensohn. This closes #691
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java?rev=1920610&r1=1920609&r2=1920610&view=diff
==============================================================================
---
poi/trunk/poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java
(original)
+++
poi/trunk/poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java
Fri Sep 13 11:09:21 2024
@@ -73,9 +73,13 @@ public class DefaultTempFileCreationStra
this.dir = dir;
}
- private void createPOIFilesDirectory() throws IOException {
- // Create our temp dir only once by double-checked locking
- // The directory is not deleted, even if it was created by this
TempFileCreationStrategy
+ // Create our temp dir only once by double-checked locking
+ // The directory is not deleted, even if it was created by this
TempFileCreationStrategy
+ private void createPOIFilesDirectoryIfNecessary() throws IOException {
+ // First make sure we recreate the directory if it was not somehow
removed by a third party
+ if (dir != null && !dir.exists()) {
+ dir = null;
+ }
if (dir == null) {
final String tmpDir = System.getProperty(JAVA_IO_TMPDIR);
if (tmpDir == null) {
@@ -104,7 +108,7 @@ public class DefaultTempFileCreationStra
@Override
public File createTempFile(String prefix, String suffix) throws
IOException {
// Identify and create our temp dir, if needed
- createPOIFilesDirectory();
+ createPOIFilesDirectoryIfNecessary();
// Generate a unique new filename
File newFile = Files.createTempFile(dir.toPath(), prefix,
suffix).toFile();
@@ -122,7 +126,7 @@ public class DefaultTempFileCreationStra
@Override
public File createTempDirectory(String prefix) throws IOException {
// Identify and create our temp dir, if needed
- createPOIFilesDirectory();
+ createPOIFilesDirectoryIfNecessary();
// Generate a unique new filename
File newDirectory = Files.createTempDirectory(dir.toPath(),
prefix).toFile();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]