You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2022/01/26 19:35:06 UTC
svn commit: r1897515 - in /poi/trunk: poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java poi/src/test/java/org/apache/poi/util/TestIOUtils.java
Author: fanningpj
Date: Wed Jan 26 19:35:06 2022
New Revision: 1897515
URL: http://svn.apache.org/viewvc?rev=1897515&view=rev
Log:
[bug-65849] use Files.createTempFile
Modified:
poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java
poi/trunk/poi/src/main/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java
poi/trunk/poi/src/test/java/org/apache/poi/util/TestIOUtils.java
Modified: poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java?rev=1897515&r1=1897514&r2=1897515&view=diff
==============================================================================
--- poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java (original)
+++ poi/trunk/poi-examples/src/main/java/org/apache/poi/examples/xssf/usermodel/BigGridDemo.java Wed Jan 26 19:35:06 2022
@@ -25,6 +25,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
+import java.nio.file.Files;
import java.util.Calendar;
import java.util.Enumeration;
import java.util.HashMap;
@@ -101,7 +102,7 @@ public final class BigGridDemo {
}
//Step 2. Generate XML file.
- tmp = File.createTempFile("sheet", ".xml");
+ tmp = Files.createTempFile("sheet", ".xml").toFile();
try (
FileOutputStream stream = new FileOutputStream(tmp);
Writer fw = new OutputStreamWriter(stream, XML_ENCODING)
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=1897515&r1=1897514&r2=1897515&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 Wed Jan 26 19:35:06 2022
@@ -21,6 +21,12 @@ import static org.apache.poi.util.TempFi
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.attribute.FileAttribute;
+import java.nio.file.attribute.PosixFilePermission;
+import java.nio.file.attribute.PosixFilePermissions;
+import java.util.HashSet;
+import java.util.Set;
/**
* Default implementation of the {@link TempFileCreationStrategy} used by {@link TempFile}:
@@ -40,6 +46,8 @@ public class DefaultTempFileCreationStra
/** To use files.deleteOnExit after clean JVM exit, set the <code>-Dpoi.delete.tmp.files.on.exit</code> JVM property */
public static final String DELETE_FILES_ON_EXIT = "poi.delete.tmp.files.on.exit";
+ private final FileAttribute<Set<PosixFilePermission>> userPermissions;
+
/** The directory where the temporary files will be created (<code>null</code> to use the default directory). */
private File dir;
@@ -61,6 +69,10 @@ public class DefaultTempFileCreationStra
*/
public DefaultTempFileCreationStrategy(File dir) {
this.dir = dir;
+ Set<PosixFilePermission> permissions = new HashSet<>();
+ permissions.add(PosixFilePermission.OWNER_READ);
+ permissions.add(PosixFilePermission.OWNER_WRITE);
+ userPermissions = PosixFilePermissions.asFileAttribute(permissions);
}
private void createPOIFilesDirectory() throws IOException {
@@ -103,7 +115,10 @@ public class DefaultTempFileCreationStra
createPOIFilesDirectory();
// Generate a unique new filename
- File newFile = File.createTempFile(prefix, suffix, dir);
+ HashSet<PosixFilePermission> permissions = new HashSet<>();
+ permissions.add(PosixFilePermission.OWNER_READ);
+ permissions.add(PosixFilePermission.OWNER_WRITE);
+ File newFile = Files.createTempFile(dir.toPath(), prefix, suffix, userPermissions).toFile();
// Set the delete on exit flag, but only when explicitly disabled
if (System.getProperty(DELETE_FILES_ON_EXIT) != null) {
@@ -121,7 +136,7 @@ public class DefaultTempFileCreationStra
createPOIFilesDirectory();
// Generate a unique new filename
- // FIXME: Java 7+: use java.nio.Files#createTempDirectory
+ // FIXME: Java 7+: use java.nio.file.Files#createTempDirectory
final long n = RandomSingleton.getInstance().nextLong();
File newDirectory = new File(dir, prefix + Long.toString(n));
createTempDirectory(newDirectory);
Modified: poi/trunk/poi/src/test/java/org/apache/poi/util/TestIOUtils.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/util/TestIOUtils.java?rev=1897515&r1=1897514&r2=1897515&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/util/TestIOUtils.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/util/TestIOUtils.java Wed Jan 26 19:35:06 2022
@@ -37,6 +37,7 @@ import java.io.PushbackInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.ReadableByteChannel;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
import org.apache.poi.EmptyFileException;
@@ -181,7 +182,7 @@ final class TestIOUtils {
@Test
void testCopyToFile() throws IOException {
- File dest = File.createTempFile("poi-ioutils-", "");
+ File dest = Files.createTempFile("poi-ioutils-", "").toFile();
try {
try (InputStream is = new FileInputStream(TMP)) {
assertEquals(LENGTH, IOUtils.copy(is, dest));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org