This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jci.git

commit 72ed9e1c68d07cfdc9cb96e2af0507b221034c7b
Author: Gary D. Gregory <[email protected]>
AuthorDate: Sun Mar 16 10:36:06 2025 -0400

    Use NIO
---
 .../commons/jci2/core/listeners/ReloadingListener.java  | 17 +++--------------
 src/changes/changes.xml                                 |  3 +++
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git 
a/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
index 4746d65..0b56fc9 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
@@ -18,12 +18,11 @@
 package org.apache.commons.jci2.core.listeners;
 
 import java.io.File;
-import java.io.FileInputStream;
+import java.nio.file.Files;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.commons.jci2.core.ReloadingClassLoader;
 import org.apache.commons.jci2.core.stores.MemoryResourceStore;
 import org.apache.commons.jci2.core.stores.ResourceStore;
@@ -87,32 +86,22 @@ public class ReloadingListener extends 
AbstractFilesystemAlterationListener {
 
         if (!created.isEmpty()) {
             for (final File file : created) {
-                FileInputStream is = null;
                 try {
-                    is = new FileInputStream(file);
-                    final byte[] bytes = IOUtils.toByteArray(is);
                     final String resourceName = 
ConversionUtils.getResourceNameFromFileName(ConversionUtils.relative(pObserver.getRootDirectory(),
 file));
-                    store.write(resourceName, bytes);
+                    store.write(resourceName, 
Files.readAllBytes(file.toPath()));
                 } catch (final Exception e) {
                     log.error("could not load " + file, e);
-                } finally {
-                    IOUtils.closeQuietly(is);
                 }
             }
         }
 
         if (!changed.isEmpty()) {
             for (final File file : changed) {
-                FileInputStream is = null;
                 try {
-                    is = new FileInputStream(file);
-                    final byte[] bytes = IOUtils.toByteArray(is);
                     final String resourceName = 
ConversionUtils.getResourceNameFromFileName(ConversionUtils.relative(pObserver.getRootDirectory(),
 file));
-                    store.write(resourceName, bytes);
+                    store.write(resourceName, 
Files.readAllBytes(file.toPath()));
                 } catch (final Exception e) {
                     log.error("could not load " + file, e);
-                } finally {
-                    IOUtils.closeQuietly(is);
                 }
             }
             reload = true;
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 6bb268a..9287a16 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -77,6 +77,9 @@ The <action> type attribute can be add,update,fix,remove.
       <action dev="ggregory" type="fix" due-to="step-security-bot, Gary 
Gregory">
         [StepSecurity] ci: Harden GitHub Actions #39.
       </action>            
+      <action dev="ggregory" type="fix" due-to="Gary Gregory">
+        Use more of NIO's APIs.
+      </action>            
       <!-- UPDATE -->
       <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">
         Bump commons-parent from 56 to 78 #36, #37, #72, #97, #73 #125, #128, 
#134, #138, #141, #149.

Reply via email to