Author: fanningpj
Date: Thu Sep 14 15:49:10 2023
New Revision: 1912316

URL: http://svn.apache.org/viewvc?rev=1912316&view=rev
Log:
use more nio file support

Modified:
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ZipHelper.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipArchiveFakeEntry.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
    
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
    
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/ExcelExtractor.java
    
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
    
poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java
    
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java
    poi/trunk/poi/src/main/java/org/apache/poi/poifs/dev/POIFSDump.java
    poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/FileMagic.java
    
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
    poi/trunk/poi/src/main/java/org/apache/poi/util/HexRead.java
    poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java
    poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BiffViewer.java
    poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/StreamUtility.java
    
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelCetabFunctionExtractor.java
    
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelFileFormatDocFunctionExtractor.java
    
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/NumberRenderingSpreadsheetGenerator.java

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java 
Thu Sep 14 15:49:10 2023
@@ -25,13 +25,13 @@ import static org.apache.poi.openxml4j.o
 import java.io.ByteArrayOutputStream;
 import java.io.Closeable;
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
@@ -506,7 +506,7 @@ public abstract class OPCPackage impleme
         }
         String name = path.substring(path.lastIndexOf(File.separatorChar) + 1);
 
-        try (FileInputStream is = new FileInputStream(path)) {
+        try (InputStream is = Files.newInputStream(Paths.get(path))) {
             addThumbnail(name, is);
         }
     }
@@ -1483,7 +1483,7 @@ public abstract class OPCPackage impleme
         }
 
         // Do the save
-        try (FileOutputStream fos = new FileOutputStream(targetFile)) {
+        try (OutputStream fos = Files.newOutputStream(targetFile.toPath())) {
             this.save(fos);
         }
     }

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java 
Thu Sep 14 15:49:10 2023
@@ -21,11 +21,10 @@ import static org.apache.poi.openxml4j.o
 import static 
org.apache.poi.openxml4j.opc.internal.ContentTypeManager.CONTENT_TYPES_PART_NAME;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.file.Files;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.List;
@@ -179,12 +178,12 @@ public final class ZipPackage extends OP
     }
 
     private static ZipEntrySource openZipEntrySourceStream(File file) throws 
InvalidOperationException {
-        final FileInputStream fis;
+        final InputStream fis;
         // Acquire a resource that is needed to read the next level of 
openZipEntrySourceStream
         try {
             // open the file input stream
-            fis = new FileInputStream(file); // NOSONAR
-        } catch (final FileNotFoundException e) {
+            fis = Files.newInputStream(file.toPath());
+        } catch (final IOException e) {
             // If the source cannot be acquired, abort (no resources to free 
at this level)
             throw new InvalidOperationException("Can't open the specified file 
input stream from file: '" + file + "'", e);
         }
@@ -204,7 +203,7 @@ public final class ZipPackage extends OP
         }
     }
 
-    private static ZipEntrySource openZipEntrySourceStream(FileInputStream 
fis) throws InvalidOperationException {
+    private static ZipEntrySource openZipEntrySourceStream(InputStream fis) 
throws InvalidOperationException {
         final ZipArchiveThresholdInputStream zis;
         // Acquire a resource that is needed to read the next level of 
openZipEntrySourceStream
         try {

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/TempFilePackagePart.java
 Thu Sep 14 15:49:10 2023
@@ -30,6 +30,7 @@ import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.TempFile;
 
 import java.io.*;
+import java.nio.file.Files;
 
 /**
  * (Experimental) Temp File version of a package part.
@@ -89,12 +90,12 @@ public final class TempFilePackagePart e
 
     @Override
     protected InputStream getInputStreamImpl() throws IOException {
-        return new FileInputStream(tempFile);
+        return Files.newInputStream(tempFile.toPath());
     }
 
     @Override
     protected OutputStream getOutputStreamImpl() throws IOException {
-        return new FileOutputStream(tempFile);
+        return Files.newOutputStream(tempFile.toPath());
     }
 
     @Override

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ZipHelper.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ZipHelper.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ZipHelper.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/internal/ZipHelper.java
 Thu Sep 14 15:49:10 2023
@@ -24,6 +24,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.nio.file.Files;
 
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
@@ -197,7 +198,7 @@ public final class ZipHelper {
         }
         
         // Peek at the first few bytes to sanity check
-        try (FileInputStream input = new FileInputStream(file)) {
+        try (InputStream input = Files.newInputStream(file.toPath())) {
             verifyZipHeader(input);
         }
 

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipArchiveFakeEntry.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipArchiveFakeEntry.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipArchiveFakeEntry.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/util/ZipArchiveFakeEntry.java
 Thu Sep 14 15:49:10 2023
@@ -18,6 +18,7 @@
 package org.apache.poi.openxml4j.util;
 
 import java.io.*;
+import java.nio.file.Files;
 
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.io.input.UnsynchronizedByteArrayInputStream;
@@ -99,7 +100,7 @@ import org.apache.poi.util.TempFile;
             }
         } else if (tempFile != null) {
             try {
-                return new FileInputStream(tempFile);
+                return Files.newInputStream(tempFile.toPath());
             } catch (FileNotFoundException e) {
                 throw new IOException("temp file " + 
tempFile.getAbsolutePath() + " is missing");
             }

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/poifs/crypt/temp/EncryptedTempData.java
 Thu Sep 14 15:49:10 2023
@@ -20,11 +20,10 @@
 package org.apache.poi.poifs.crypt.temp;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.file.Files;
 
 import javax.crypto.Cipher;
 import javax.crypto.CipherInputStream;
@@ -73,7 +72,7 @@ public class EncryptedTempData {
      */
     public OutputStream getOutputStream() throws IOException {
         Cipher ciEnc = CryptoFunctions.getCipher(skeySpec, cipherAlgorithm, 
ChainingMode.cbc, ivBytes, Cipher.ENCRYPT_MODE, PADDING);
-        outputStream = new CountingOutputStream(new CipherOutputStream(new 
FileOutputStream(tempFile), ciEnc));
+        outputStream = new CountingOutputStream(new 
CipherOutputStream(Files.newOutputStream(tempFile.toPath()), ciEnc));
         return outputStream;
     }
 
@@ -85,7 +84,7 @@ public class EncryptedTempData {
      */
     public InputStream getInputStream() throws IOException {
         Cipher ciDec = CryptoFunctions.getCipher(skeySpec, cipherAlgorithm, 
ChainingMode.cbc, ivBytes, Cipher.DECRYPT_MODE, PADDING);
-        return new CipherInputStream(new FileInputStream(tempFile), ciDec);
+        return new CipherInputStream(Files.newInputStream(tempFile.toPath()), 
ciDec);
     }
 
     /**

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 Thu Sep 14 15:49:10 2023
@@ -21,10 +21,10 @@ import static org.apache.poi.ooxml.POIXM
 
 import java.awt.Dimension;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -607,7 +607,7 @@ public class XMLSlideShow extends POIXML
     @Override
     public XSLFPictureData addPicture(File pict, PictureType format) throws 
IOException {
         byte[] data = IOUtils.safelyAllocate(pict.length(), MAX_RECORD_LENGTH);
-        try (InputStream is = new FileInputStream(pict)) {
+        try (InputStream is = Files.newInputStream(pict.toPath())) {
             IOUtils.readFully(is, data);
         }
         return addPicture(data, format);

Modified: 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java 
(original)
+++ 
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/XSSFTestDataSamples.java 
Thu Sep 14 15:49:10 2023
@@ -18,10 +18,10 @@
 package org.apache.poi.xssf;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Files;
 
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.hssf.HSSFTestDataSamples;
@@ -76,7 +76,7 @@ public class XSSFTestDataSamples {
     }
 
     private static <R extends Workbook> void writeOut(R wb, File file) throws 
IOException {
-        try (FileOutputStream out = new FileOutputStream(file)) {
+        try (OutputStream out = Files.newOutputStream(file.toPath())) {
             wb.write(out);
         }
     }
@@ -197,7 +197,7 @@ public class XSSFTestDataSamples {
      * @throws IOException If reading the file fails
      */
     public static XSSFWorkbook readBack(File file) throws IOException {
-        try (InputStream in = new FileInputStream(file)) {
+        try (InputStream in = Files.newInputStream(file.toPath())) {
             return new XSSFWorkbook(in);
         }
     }

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/ExcelExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/ExcelExtractor.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/ExcelExtractor.java 
(original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/ExcelExtractor.java 
Thu Sep 14 15:49:10 2023
@@ -18,10 +18,10 @@
 package org.apache.poi.hssf.extractor;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
+import java.nio.file.Files;
 import java.util.Locale;
 
 import org.apache.poi.extractor.POIOLE2TextExtractor;
@@ -225,7 +225,7 @@ public class ExcelExtractor implements P
             return;
         }
 
-        try (InputStream is = cmdArgs.getInputFile() == null ? System.in : new 
FileInputStream(cmdArgs.getInputFile());
+        try (InputStream is = cmdArgs.getInputFile() == null ? System.in : 
Files.newInputStream(cmdArgs.getInputFile().toPath());
              HSSFWorkbook wb = new HSSFWorkbook(is);
              ExcelExtractor extractor = new ExcelExtractor(wb)
         ) {

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/extractor/OldExcelExtractor.java
 Thu Sep 14 15:49:10 2023
@@ -27,6 +27,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.extractor.POITextExtractor;
@@ -94,7 +95,7 @@ public class OldExcelExtractor implement
         }
 
         @SuppressWarnings("resource")
-        FileInputStream biffStream = new FileInputStream(f); // NOSONAR
+        InputStream biffStream = Files.newInputStream(f.toPath());
         try {
             open(biffStream);
         } catch (IOException | RuntimeException e)  {

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java
 Thu Sep 14 15:49:10 2023
@@ -19,9 +19,9 @@ package org.apache.poi.hssf.usermodel;
 
 import java.awt.Font;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
@@ -118,7 +118,7 @@ final class StaticFontMetrics {
         }
 
         try (InputStream metricsIn = (propFile != null)
-                ? new FileInputStream(propFile)
+                ? Files.newInputStream(propFile.toPath())
                 : 
FontDetails.class.getResourceAsStream("/font_metrics.properties")
         )  {
             // Use the built-in font metrics file off the classpath

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java
 Thu Sep 14 15:49:10 2023
@@ -19,11 +19,11 @@ package org.apache.poi.poifs.crypt;
 import static org.apache.poi.poifs.crypt.Decryptor.DEFAULT_POIFS_ENTRY;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.FilterOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.file.Files;
 import java.security.GeneralSecurityException;
 
 import javax.crypto.Cipher;
@@ -71,7 +71,7 @@ public abstract class ChunkedCipherOutpu
         this.plainByteFlags = new SparseBitSet(cs);
         this.chunkBits = Integer.bitCount(cs-1);
         this.fileOut = TempFile.createTempFile("encrypted_package", "crypt");
-        this.out = new FileOutputStream(fileOut);
+        this.out = Files.newOutputStream(fileOut.toPath());
         this.dir = dir;
         this.cipher = initCipherForBlock(null, 0, false);
     }
@@ -303,7 +303,7 @@ public abstract class ChunkedCipherOutpu
     private void processPOIFSWriterEvent(POIFSWriterEvent event) {
         try {
             try (OutputStream os = event.getStream();
-                 FileInputStream fis = new FileInputStream(fileOut)) {
+                 InputStream fis = Files.newInputStream(fileOut.toPath())) {
 
                 // StreamSize (8 bytes): An unsigned integer that specifies 
the number of bytes used by data
                 // encrypted within the EncryptedData field, not including the 
size of the StreamSize field.

Modified: poi/trunk/poi/src/main/java/org/apache/poi/poifs/dev/POIFSDump.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/dev/POIFSDump.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/poifs/dev/POIFSDump.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/poifs/dev/POIFSDump.java Thu Sep 
14 15:49:10 2023
@@ -17,11 +17,12 @@
 package org.apache.poi.poifs.dev;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Iterator;
 
 import org.apache.poi.poifs.common.POIFSConstants;
@@ -65,7 +66,7 @@ public final class POIFSDump {
             }
 
             System.out.println("Dumping " + filename);
-            try (FileInputStream is = new FileInputStream(filename);
+            try (InputStream is = Files.newInputStream(Paths.get(filename));
                  POIFSFileSystem fs = new POIFSFileSystem(is)) {
                 DirectoryEntry root = fs.getRoot();
                 String filenameWithoutPath = new File(filename).getName();
@@ -98,12 +99,12 @@ public final class POIFSDump {
         for(Iterator<Entry> it = root.getEntries(); it.hasNext();){
             Entry entry = it.next();
             if(entry instanceof DocumentNode){
-                DocumentNode node = (DocumentNode)entry;
-                DocumentInputStream is = new DocumentInputStream(node);
-                byte[] bytes = IOUtils.toByteArray(is);
-                is.close();
-
-                try (OutputStream out = new FileOutputStream(new File(parent, 
node.getName().trim()))) {
+                final DocumentNode node = (DocumentNode) entry;
+                final byte[] bytes;
+                try (DocumentInputStream is = new DocumentInputStream(node)) {
+                   bytes = IOUtils.toByteArray(is);
+                }
+                try (OutputStream out = Files.newOutputStream(new File(parent, 
node.getName().trim()).toPath())) {
                     out.write(bytes);
                 }
             } else if (entry instanceof DirectoryEntry){
@@ -120,7 +121,7 @@ public final class POIFSDump {
     }
     public static void dump(POIFSFileSystem fs, int startBlock, String name, 
File parent) throws IOException {
         File file = new File(parent, name);
-        try (FileOutputStream out = new FileOutputStream(file)) {
+        try (OutputStream out = Files.newOutputStream(file.toPath())) {
             POIFSStream stream = new POIFSStream(fs, startBlock);
 
             byte[] b = IOUtils.safelyAllocate(fs.getBigBlockSize(), 
POIFSFileSystem.getMaxRecordLength());

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/FileMagic.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/FileMagic.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/FileMagic.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/FileMagic.java 
Thu Sep 14 15:49:10 2023
@@ -19,9 +19,9 @@ package org.apache.poi.poifs.filesystem;
 
 import java.io.BufferedInputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 import java.util.Arrays;
 
 import org.apache.poi.poifs.storage.HeaderBlockConstants;
@@ -171,7 +171,7 @@ public enum FileMagic {
      * @param inp a file to be identified
      */
     public static FileMagic valueOf(final File inp) throws IOException {
-        try (FileInputStream fis = new FileInputStream(inp)) {
+        try (InputStream fis = Files.newInputStream(inp.toPath())) {
             // read as many bytes as possible, up to the required number of 
bytes
             byte[] data = new byte[MAX_PATTERN_LENGTH];
             int read = IOUtils.readFully(fis, data, 0, MAX_PATTERN_LENGTH);

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
 (original)
+++ 
poi/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
 Thu Sep 14 15:49:10 2023
@@ -18,8 +18,6 @@ package org.apache.poi.poifs.filesystem;
 
 import java.io.Closeable;
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -27,6 +25,8 @@ import java.nio.ByteBuffer;
 import java.nio.channels.Channels;
 import java.nio.channels.FileChannel;
 import java.nio.channels.ReadableByteChannel;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
@@ -822,8 +822,8 @@ public class POIFSFileSystem extends Blo
             System.exit(1);
         }
 
-        try (FileInputStream istream = new FileInputStream(args[0])) {
-            try (FileOutputStream ostream = new FileOutputStream(args[1])) {
+        try (InputStream istream = Files.newInputStream(Paths.get(args[0]))) {
+            try (OutputStream ostream = 
Files.newOutputStream(Paths.get(args[1]))) {
                 try (POIFSFileSystem fs = new POIFSFileSystem(istream)) {
                     fs.writeFilesystem(ostream);
                 }
@@ -959,7 +959,7 @@ public class POIFSFileSystem extends Blo
     public static POIFSFileSystem create(File file) throws IOException {
         // Create a new empty POIFS in the file
         try (POIFSFileSystem tmp = new POIFSFileSystem();
-             OutputStream out = new FileOutputStream(file)) {
+             OutputStream out = Files.newOutputStream(file.toPath())) {
             tmp.writeFilesystem(out);
         }
 

Modified: poi/trunk/poi/src/main/java/org/apache/poi/util/HexRead.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/util/HexRead.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/util/HexRead.java (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/util/HexRead.java Thu Sep 14 
15:49:10 2023
@@ -18,6 +18,8 @@
 package org.apache.poi.util;
 
 import java.io.*;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.List;
 import java.util.ArrayList;
 
@@ -36,7 +38,7 @@ public class HexRead {
      */
     public static byte[] readData( String filename ) throws IOException {
         File file = new File( filename );
-        try (InputStream stream = new FileInputStream(file)) {
+        try (InputStream stream = Files.newInputStream(file.toPath())) {
             return readData(stream, -1);
         }
     }
@@ -83,7 +85,7 @@ public class HexRead {
     }
 
     public static byte[] readData( String filename, String section ) throws 
IOException {
-        return readData(new FileInputStream( filename ), section);
+        return readData(Files.newInputStream(Paths.get(filename)), section);
     }
 
     @SuppressWarnings("fallthrough")

Modified: poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java (original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/POIDataSamples.java Thu Sep 14 
15:49:10 2023
@@ -17,10 +17,10 @@
 package org.apache.poi;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UncheckedIOException;
+import java.nio.file.Files;
 
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
@@ -150,9 +150,9 @@ public final class POIDataSamples {
 
         File f = getFile(sampleFileName);
         try {
-            return new FileInputStream(f);
-        } catch (FileNotFoundException e) {
-            throw new RuntimeException(e);
+            return Files.newInputStream(f.toPath());
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
         }
     }
 

Modified: poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BiffViewer.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BiffViewer.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BiffViewer.java 
(original)
+++ poi/trunk/poi/src/test/java/org/apache/poi/hssf/dev/BiffViewer.java Thu Sep 
14 15:49:10 2023
@@ -25,6 +25,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
+import java.io.UncheckedIOException;
 import java.io.Writer;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
@@ -311,7 +312,7 @@ public final class BiffViewer {
 
             w.write(buf, 0, idx);
         } catch (IOException e) {
-            throw new RuntimeException(e);
+            throw new UncheckedIOException(e);
         }
     }
 

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/StreamUtility.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/StreamUtility.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/StreamUtility.java 
(original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/hssf/usermodel/StreamUtility.java 
Thu Sep 14 15:49:10 2023
@@ -19,6 +19,7 @@ package org.apache.poi.hssf.usermodel;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UncheckedIOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -53,7 +54,7 @@ public final class StreamUtility {
             result = diffInternal(isA, isB, allowableDifferenceRegions);
             success = true;
         } catch (IOException e) {
-            throw new RuntimeException(e);
+            throw new UncheckedIOException(e);
         } finally {
             close(isA, success);
             close(isB, success);
@@ -70,7 +71,7 @@ public final class StreamUtility {
         } catch (IOException e) {
             if(success) {
                 // this is a new error. ok to throw
-                throw new RuntimeException(e);
+                throw new UncheckedIOException(e);
             }
             // else don't subvert original exception. just print stack trace 
for this one
             e.printStackTrace();

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelCetabFunctionExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelCetabFunctionExtractor.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelCetabFunctionExtractor.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelCetabFunctionExtractor.java
 Thu Sep 14 15:49:10 2023
@@ -19,7 +19,6 @@ package org.apache.poi.ss.formula.functi
 
 import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -27,6 +26,8 @@ import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -369,7 +370,7 @@ public final class ExcelCetabFunctionExt
             throw new IllegalStateException("Did not find file " + 
SOURCE_DOC_FILE_NAME + " in the resources");
         }
 
-        try (InputStream stream = new FileInputStream(SOURCE_DOC_FILE_NAME)) {
+        try (InputStream stream = 
Files.newInputStream(Paths.get(SOURCE_DOC_FILE_NAME))) {
             File outFile = new File("functionMetadataCetab.txt");
 
             processFile(stream, outFile);

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelFileFormatDocFunctionExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelFileFormatDocFunctionExtractor.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelFileFormatDocFunctionExtractor.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/ss/formula/function/ExcelFileFormatDocFunctionExtractor.java
 Thu Sep 14 15:49:10 2023
@@ -18,19 +18,18 @@
 package org.apache.poi.ss.formula.function;
 
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.PrintStream;
+import java.io.UncheckedIOException;
 import java.io.UnsupportedEncodingException;
 import java.math.BigInteger;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.security.MessageDigest;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -486,9 +485,9 @@ public final class ExcelFileFormatDocFun
         }
         OutputStream os;
         try {
-            os = new FileOutputStream(outFile);
-        } catch (FileNotFoundException e) {
-            throw new RuntimeException(e);
+            os = Files.newOutputStream(outFile.toPath());
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
         }
         os = new SimpleAsciiOutputStream(os);
         PrintStream ps;
@@ -559,7 +558,7 @@ public final class ExcelFileFormatDocFun
 
         byte[]buf = new byte[2048];
         try {
-            InputStream is = new FileInputStream(f);
+            InputStream is = Files.newInputStream(f.toPath());
             while(true) {
                 int bytesRead = is.read(buf);
                 if(bytesRead<1) {
@@ -590,7 +589,7 @@ public final class ExcelFileFormatDocFun
             InputStream is = conn.getInputStream();
             System.out.println("downloading " + url.toExternalForm());
             result = TempFile.createTempFile("excelfileformat", ".odt");
-            OutputStream os = new FileOutputStream(result);
+            OutputStream os = Files.newOutputStream(result.toPath());
             while(true) {
                 int bytesRead = is.read(buf);
                 if(bytesRead<1) {
@@ -601,7 +600,7 @@ public final class ExcelFileFormatDocFun
             is.close();
             os.close();
         } catch (IOException e) {
-            throw new RuntimeException(e);
+            throw new UncheckedIOException(e);
         }
         System.out.println("file downloaded ok");
         return result;

Modified: 
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/NumberRenderingSpreadsheetGenerator.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/util/NumberRenderingSpreadsheetGenerator.java?rev=1912316&r1=1912315&r2=1912316&view=diff
==============================================================================
--- 
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/NumberRenderingSpreadsheetGenerator.java
 (original)
+++ 
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/NumberRenderingSpreadsheetGenerator.java
 Thu Sep 14 15:49:10 2023
@@ -19,9 +19,11 @@ package org.apache.poi.ss.util;
 
 import java.io.DataInputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UncheckedIOException;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
@@ -151,7 +153,7 @@ public class NumberRenderingSpreadsheetG
         File outputFile = new File("ExcelNumberRendering.xls");
 
         try (UnsynchronizedByteArrayOutputStream baos = 
UnsynchronizedByteArrayOutputStream.builder().get();
-             FileOutputStream os = new FileOutputStream(outputFile)) {
+             OutputStream os = Files.newOutputStream(outputFile.toPath())) {
             wb.write(baos);
 
             byte[] fileContent = baos.toByteArray();
@@ -159,7 +161,7 @@ public class NumberRenderingSpreadsheetG
 
             os.write(fileContent);
         } catch (IOException e) {
-            throw new RuntimeException(e);
+            throw new UncheckedIOException(e);
         }
 
         System.out.println("Finished writing '" + outputFile.getAbsolutePath() 
+ "'");



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to