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-io.git

commit 4cb3d2999e573cac5d41792e18a45cd2e0b2a9c7
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Wed May 31 17:55:27 2023 -0400

    Reuse RandomAccessFiles
---
 .../commons/io/filefilter/MagicNumberFileFilter.java   | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
index 68824a40..ae10c623 100644
--- a/src/main/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
@@ -30,8 +30,8 @@ import java.nio.file.attribute.BasicFileAttributes;
 import java.util.Arrays;
 import java.util.Objects;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.RandomAccessFileMode;
+import org.apache.commons.io.RandomAccessFiles;
 
 /**
  * <p>
@@ -258,22 +258,12 @@ public class MagicNumberFileFilter extends 
AbstractFileFilter implements
     @Override
     public boolean accept(final File file) {
         if (file != null && file.isFile() && file.canRead()) {
-            try {
-                try (RandomAccessFile randomAccessFile = 
RandomAccessFileMode.READ_ONLY.create(file)) {
-                    final byte[] fileBytes = 
IOUtils.byteArray(this.magicNumbers.length);
-                    randomAccessFile.seek(byteOffset);
-                    final int read = randomAccessFile.read(fileBytes);
-                    if (read != magicNumbers.length) {
-                        return false;
-                    }
-                    return Arrays.equals(this.magicNumbers, fileBytes);
-                }
-            }
-            catch (final IOException ignored) {
+            try (RandomAccessFile randomAccessFile = 
RandomAccessFileMode.READ_ONLY.create(file)) {
+                return Arrays.equals(magicNumbers, 
RandomAccessFiles.read(randomAccessFile, byteOffset, magicNumbers.length));
+            } catch (final IOException ignored) {
                 // Do nothing, fall through and do not accept file
             }
         }
-
         return false;
     }
 

Reply via email to