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; }