You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/01/16 19:11:28 UTC
[commons-compress] branch master updated: Define and reuse
constants.
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-compress.git
The following commit(s) were added to refs/heads/master by this push:
new 0bdc408 Define and reuse constants.
0bdc408 is described below
commit 0bdc4081822323f582062cbf385ff9fb85ada562
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Jan 16 14:11:23 2021 -0500
Define and reuse constants.
---
.../commons/compress/archivers/examples/Archiver.java | 4 ++--
.../commons/compress/archivers/sevenz/Archive.java | 4 ++--
.../commons/compress/archivers/sevenz/CoderBase.java | 6 +++---
.../commons/compress/archivers/sevenz/Folder.java | 1 +
.../compress/archivers/sevenz/SevenZArchiveEntry.java | 1 +
.../commons/compress/archivers/sevenz/SevenZFile.java | 9 +++++----
.../commons/compress/archivers/tar/TarArchiveEntry.java | 8 ++++----
.../commons/compress/archivers/zip/ExtraFieldUtils.java | 4 +++-
.../commons/compress/archivers/zip/JarMarker.java | 7 ++++---
.../commons/compress/archivers/zip/X7875_NewUnix.java | 4 +++-
.../zip/Zip64ExtendedInformationExtraField.java | 6 +++---
.../commons/compress/archivers/zip/ZipArchiveEntry.java | 17 ++++++++---------
.../compress/archivers/zip/ZipArchiveOutputStream.java | 5 ++---
.../apache/commons/compress/archivers/zip/ZipFile.java | 4 ++--
.../compress/compressors/deflate64/HuffmanDecoder.java | 3 ++-
.../org/apache/commons/compress/utils/ByteUtils.java | 8 ++++++++
.../compress/utils/SeekableInMemoryByteChannel.java | 2 +-
.../compress/archivers/ArchiveStreamFactoryTest.java | 5 +++--
.../apache/commons/compress/archivers/TarTestCase.java | 5 +++--
.../compress/archivers/sevenz/SevenZNativeHeapTest.java | 3 ++-
.../compress/archivers/sevenz/SevenZOutputFileTest.java | 5 +++--
.../commons/compress/archivers/tar/TarUtilsTest.java | 3 ++-
.../commons/compress/archivers/zip/BitStreamTest.java | 5 +++--
.../compress/archivers/zip/X7875_NewUnixTest.java | 5 +++--
.../compress/archivers/zip/ZipArchiveEntryTest.java | 9 +++++----
.../archivers/zip/ZipArchiveInputStreamTest.java | 3 ++-
.../commons/compress/archivers/zip/ZipFileTest.java | 7 ++++---
.../compress/compressors/DetectCompressorTestCase.java | 5 +++--
.../AbstractLZ77CompressorInputStreamTest.java | 5 +++--
.../apache/commons/compress/utils/ByteUtilsTest.java | 8 ++++----
.../utils/ChecksumCalculatingInputStreamTest.java | 3 +--
.../org/apache/commons/compress/utils/IOUtilsTest.java | 2 +-
.../utils/MultiReadOnlySeekableByteChannelTest.java | 2 +-
.../utils/ZipSplitReadOnlySeekableByteChannelTest.java | 2 +-
34 files changed, 98 insertions(+), 72 deletions(-)
diff --git a/src/main/java/org/apache/commons/compress/archivers/examples/Archiver.java b/src/main/java/org/apache/commons/compress/archivers/examples/Archiver.java
index 8358753..f94909d 100644
--- a/src/main/java/org/apache/commons/compress/archivers/examples/Archiver.java
+++ b/src/main/java/org/apache/commons/compress/archivers/examples/Archiver.java
@@ -41,6 +41,7 @@ import org.apache.commons.compress.archivers.ArchiveOutputStream;
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
import org.apache.commons.compress.archivers.sevenz.SevenZOutputFile;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
+import org.apache.commons.compress.utils.IOUtils;
/**
* Provides a high level API for creating archives.
@@ -52,7 +53,6 @@ public class Archiver {
private static class ArchiverFileVisitor extends SimpleFileVisitor<Path> {
- private static final LinkOption[] EMPTY_LINK_OPTIONS = new LinkOption[0];
private final ArchiveOutputStream target;
private final Path directory;
private final LinkOption[] linkOptions;
@@ -61,7 +61,7 @@ public class Archiver {
final LinkOption... linkOptions) {
this.target = target;
this.directory = directory;
- this.linkOptions = linkOptions == null ? EMPTY_LINK_OPTIONS : linkOptions.clone();
+ this.linkOptions = linkOptions == null ? IOUtils.EMPTY_LINK_OPTIONS : linkOptions.clone();
}
@Override
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/Archive.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/Archive.java
index 00ca8b4..7d3d86a 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/Archive.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/Archive.java
@@ -29,11 +29,11 @@ class Archive {
/// CRCs for each packed stream, valid only if that packed stream has one.
long[] packCrcs;
/// Properties of solid compression blocks.
- Folder[] folders = new Folder[0];
+ Folder[] folders = Folder.EMPTY_FOLDER_ARRAY;
/// Temporary properties for non-empty files (subsumed into the files array later).
SubStreamsInfo subStreamsInfo;
/// The files and directories in the archive.
- SevenZArchiveEntry[] files = new SevenZArchiveEntry[0];
+ SevenZArchiveEntry[] files = SevenZArchiveEntry.EMPTY_SEVEN_Z_ARCHIVE_ENTRY_ARRAY;
/// Mapping between folders, files and streams.
StreamMap streamMap;
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/CoderBase.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/CoderBase.java
index d4ea715..fa3c5f4 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/CoderBase.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/CoderBase.java
@@ -21,13 +21,13 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import org.apache.commons.compress.utils.ByteUtils;
+
/**
* Base Codec class.
*/
abstract class CoderBase {
private final Class<?>[] acceptableOptions;
- private static final byte[] NONE = new byte[0];
-
/**
* @param acceptableOptions types that can be used as options for this codec.
*/
@@ -51,7 +51,7 @@ abstract class CoderBase {
* @return property-bytes to write in a Folder block
*/
byte[] getOptionsAsProperties(final Object options) throws IOException {
- return NONE;
+ return ByteUtils.EMPTY_BYTE_ARRAY;
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/Folder.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/Folder.java
index c0f994c..dff9eea 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/Folder.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/Folder.java
@@ -44,6 +44,7 @@ class Folder {
/// output streams and the number of non-empty files in this
/// folder.
int numUnpackSubStreams;
+ static final Folder[] EMPTY_FOLDER_ARRAY = new Folder[0];
/**
* Sorts Coders using bind pairs.
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry.java
index 620fb37..a899329 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZArchiveEntry.java
@@ -50,6 +50,7 @@ public class SevenZArchiveEntry implements ArchiveEntry {
private long crc, compressedCrc;
private long size, compressedSize;
private Iterable<? extends SevenZMethodConfiguration> contentMethods;
+ static final SevenZArchiveEntry[] EMPTY_SEVEN_Z_ARCHIVE_ENTRY_ARRAY = new SevenZArchiveEntry[0];
public SevenZArchiveEntry() {
}
diff --git a/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java b/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
index 5cdf12f..666caab 100644
--- a/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
+++ b/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
@@ -44,6 +44,7 @@ import java.util.Map;
import java.util.zip.CRC32;
import org.apache.commons.compress.utils.BoundedInputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.CRC32VerifyingInputStream;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.compress.utils.InputStreamStatistics;
@@ -641,7 +642,7 @@ public class SevenZFile implements Closeable {
nid = getUnsignedByte(header);
} else {
// archive without unpack/coders info
- archive.folders = new Folder[0];
+ archive.folders = Folder.EMPTY_FOLDER_ARRAY;
}
if (nid == NID.kSubStreamsInfo) {
@@ -1111,7 +1112,7 @@ public class SevenZFile implements Closeable {
entries.add(e);
}
}
- archive.files = entries.toArray(new SevenZArchiveEntry[0]);
+ archive.files = entries.toArray(SevenZArchiveEntry.EMPTY_SEVEN_Z_ARCHIVE_ENTRY_ARRAY);
calculateStreamMap(archive);
}
@@ -1194,7 +1195,7 @@ public class SevenZFile implements Closeable {
if (folderIndex < 0) {
deferredBlockStreams.clear();
// TODO: previously it'd return an empty stream?
- // new BoundedInputStream(new ByteArrayInputStream(new byte[0]), 0);
+ // new BoundedInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), 0);
return;
}
final SevenZArchiveEntry file = archive.files[entryIndex];
@@ -1425,7 +1426,7 @@ public class SevenZFile implements Closeable {
private InputStream getCurrentStream() throws IOException {
if (archive.files[currentEntryIndex].getSize() == 0) {
- return new ByteArrayInputStream(new byte[0]);
+ return new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY);
}
if (deferredBlockStreams.isEmpty()) {
throw new IllegalStateException("No current 7z entry (call getNextEntry() first).");
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
index 54592c3..5417b13 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveEntry.java
@@ -160,7 +160,7 @@ import org.apache.commons.compress.utils.IOUtils;
*/
public class TarArchiveEntry implements ArchiveEntry, TarConstants, EntryStreamOffsets {
- private static final TarArchiveEntry[] EMPTY_TAR_ARCHIVE_ENTRIES = new TarArchiveEntry[0];
+ private static final TarArchiveEntry[] EMPTY_TAR_ARCHIVE_ENTRY_ARRAY = new TarArchiveEntry[0];
/**
* Value used to indicate unknown mode, user/groupids, device numbers and modTime when parsing a file in lenient
@@ -1385,7 +1385,7 @@ public class TarArchiveEntry implements ArchiveEntry, TarConstants, EntryStreamO
*/
public TarArchiveEntry[] getDirectoryEntries() {
if (file == null || !isDirectory()) {
- return EMPTY_TAR_ARCHIVE_ENTRIES;
+ return EMPTY_TAR_ARCHIVE_ENTRY_ARRAY;
}
final List<TarArchiveEntry> entries = new ArrayList<>();
@@ -1396,9 +1396,9 @@ public class TarArchiveEntry implements ArchiveEntry, TarConstants, EntryStreamO
entries.add(new TarArchiveEntry(p));
}
} catch (final IOException e) {
- return EMPTY_TAR_ARCHIVE_ENTRIES;
+ return EMPTY_TAR_ARCHIVE_ENTRY_ARRAY;
}
- return entries.toArray(new TarArchiveEntry[0]);
+ return entries.toArray(EMPTY_TAR_ARCHIVE_ENTRY_ARRAY);
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java b/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
index 886df81..84e769d 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
@@ -220,7 +220,7 @@ public class ExtraFieldUtils {
}
}
- return v.toArray(new ZipExtraField[0]);
+ return v.toArray(EMPTY_ZIP_EXTRA_FIELD_ARRAY);
}
/**
@@ -416,4 +416,6 @@ public class ExtraFieldUtils {
}
}
+
+ static final ZipExtraField[] EMPTY_ZIP_EXTRA_FIELD_ARRAY = new ZipExtraField[0];
}
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/JarMarker.java b/src/main/java/org/apache/commons/compress/archivers/zip/JarMarker.java
index ad12f37..bed5611 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/JarMarker.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/JarMarker.java
@@ -19,6 +19,8 @@ package org.apache.commons.compress.archivers.zip;
import java.util.zip.ZipException;
+import org.apache.commons.compress.utils.ByteUtils;
+
/**
* If this extra field is added as the very first extra field of the
* archive, Solaris will consider it an executable jar file.
@@ -28,7 +30,6 @@ public final class JarMarker implements ZipExtraField {
private static final ZipShort ID = new ZipShort(0xCAFE);
private static final ZipShort NULL = new ZipShort(0);
- private static final byte[] NO_BYTES = new byte[0];
private static final JarMarker DEFAULT = new JarMarker();
/** No-arg constructor */
@@ -80,7 +81,7 @@ public final class JarMarker implements ZipExtraField {
*/
@Override
public byte[] getLocalFileDataData() {
- return NO_BYTES;
+ return ByteUtils.EMPTY_BYTE_ARRAY;
}
/**
@@ -90,7 +91,7 @@ public final class JarMarker implements ZipExtraField {
*/
@Override
public byte[] getCentralDirectoryData() {
- return NO_BYTES;
+ return ByteUtils.EMPTY_BYTE_ARRAY;
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java b/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
index 85f9e1a..c2b19d7 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/X7875_NewUnix.java
@@ -23,6 +23,8 @@ import java.math.BigInteger;
import java.util.Arrays;
import java.util.zip.ZipException;
+import org.apache.commons.compress.utils.ByteUtils;
+
import static org.apache.commons.compress.archivers.zip.ZipUtil.reverse;
import static org.apache.commons.compress.archivers.zip.ZipUtil.signedByteToUnsignedInt;
import static org.apache.commons.compress.archivers.zip.ZipUtil.unsignedIntToSignedByte;
@@ -209,7 +211,7 @@ public class X7875_NewUnix implements ZipExtraField, Cloneable, Serializable {
*/
@Override
public byte[] getCentralDirectoryData() {
- return new byte[0];
+ return ByteUtils.EMPTY_BYTE_ARRAY;
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java b/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
index 2e0b260..8dafc7a 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/Zip64ExtendedInformationExtraField.java
@@ -20,6 +20,8 @@ package org.apache.commons.compress.archivers.zip;
import java.util.zip.ZipException;
+import org.apache.commons.compress.utils.ByteUtils;
+
import static org.apache.commons.compress.archivers.zip.ZipConstants.DWORD;
import static org.apache.commons.compress.archivers.zip.ZipConstants.WORD;
@@ -47,8 +49,6 @@ public class Zip64ExtendedInformationExtraField implements ZipExtraField {
private static final String LFH_MUST_HAVE_BOTH_SIZES_MSG =
"Zip64 extended information must contain"
+ " both size values in the local file header.";
- private static final byte[] EMPTY = new byte[0];
-
private ZipEightByteInteger size, compressedSize, relativeHeaderOffset;
private ZipLong diskStart;
@@ -131,7 +131,7 @@ public class Zip64ExtendedInformationExtraField implements ZipExtraField {
addSizes(data);
return data;
}
- return EMPTY;
+ return ByteUtils.EMPTY_BYTE_ARRAY;
}
@Override
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java
index 085aa19..f23392d 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntry.java
@@ -32,6 +32,7 @@ import java.util.zip.ZipException;
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.EntryStreamOffsets;
+import org.apache.commons.compress.utils.ByteUtils;
/**
* Extension that adds better handling of extra fields and provides
@@ -63,8 +64,6 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
public static final int CRC_UNKNOWN = -1;
private static final int SHORT_MASK = 0xFFFF;
private static final int SHORT_SHIFT = 16;
- private static final byte[] EMPTY = new byte[0];
-
/**
* Indicates how the name of this entry has been determined.
* @since 1.16
@@ -144,13 +143,13 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
private String name = null;
private byte[] rawName = null;
private GeneralPurposeBit gpb = new GeneralPurposeBit();
- private static final ZipExtraField[] noExtraFields = new ZipExtraField[0];
private long localHeaderOffset = OFFSET_UNKNOWN;
private long dataOffset = OFFSET_UNKNOWN;
private boolean isStreamContiguous = false;
private NameSource nameSource = NameSource.NAME;
private CommentSource commentSource = CommentSource.COMMENT;
private long diskNumberStart;
+ static final ZipArchiveEntry[] EMPTY_ZIP_ARCHIVE_ENTRY_ARRAY = new ZipArchiveEntry[0];
/**
* Creates a new zip entry with the specified name.
@@ -450,7 +449,7 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
}
}
}
- extraFields = newFields.toArray(noExtraFields);
+ extraFields = newFields.toArray(ExtraFieldUtils.EMPTY_ZIP_EXTRA_FIELD_ARRAY);
setExtra();
}
@@ -525,12 +524,12 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
merged.add(l);
}
merged.addAll(centralFields);
- return merged.toArray(noExtraFields);
+ return merged.toArray(ExtraFieldUtils.EMPTY_ZIP_EXTRA_FIELD_ARRAY);
}
private ZipExtraField[] getParseableExtraFieldsNoCopy() {
if (extraFields == null) {
- return noExtraFields;
+ return ExtraFieldUtils.EMPTY_ZIP_EXTRA_FIELD_ARRAY;
}
return extraFields;
}
@@ -559,7 +558,7 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
}
private ZipExtraField[] getUnparseableOnly() {
- return unparseableExtra == null ? noExtraFields : new ZipExtraField[] { unparseableExtra };
+ return unparseableExtra == null ? ExtraFieldUtils.EMPTY_ZIP_EXTRA_FIELD_ARRAY : new ZipExtraField[] { unparseableExtra };
}
private ZipExtraField[] getAllExtraFields() {
@@ -655,7 +654,7 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
if (extraFields.length == newResult.size()) {
throw new java.util.NoSuchElementException();
}
- extraFields = newResult.toArray(noExtraFields);
+ extraFields = newResult.toArray(ExtraFieldUtils.EMPTY_ZIP_EXTRA_FIELD_ARRAY);
setExtra();
}
@@ -750,7 +749,7 @@ public class ZipArchiveEntry extends java.util.zip.ZipEntry
*/
public byte[] getLocalFileDataExtra() {
final byte[] extra = getExtra();
- return extra != null ? extra : EMPTY;
+ return extra != null ? extra : ByteUtils.EMPTY_BYTE_ARRAY;
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java
index 33ea87a..3f20c29 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java
@@ -52,6 +52,7 @@ import java.util.zip.ZipException;
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.ArchiveOutputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.IOUtils;
/**
@@ -146,8 +147,6 @@ public class ZipArchiveOutputStream extends ArchiveOutputStream {
@Deprecated
public static final int EFS_FLAG = GeneralPurposeBit.UFT8_NAMES_FLAG;
- private static final byte[] EMPTY = new byte[0];
-
/**
* Current entry.
*/
@@ -649,7 +648,7 @@ public class ZipArchiveOutputStream extends ArchiveOutputStream {
}
if (!entry.hasWritten) {
- write(EMPTY, 0, 0);
+ write(ByteUtils.EMPTY_BYTE_ARRAY, 0, 0);
}
}
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
index 1a62ab8..8635f76 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
@@ -441,7 +441,7 @@ public class ZipFile implements Closeable {
* @since 1.1
*/
public Enumeration<ZipArchiveEntry> getEntriesInPhysicalOrder() {
- final ZipArchiveEntry[] allEntries = entries.toArray(new ZipArchiveEntry[0]);
+ final ZipArchiveEntry[] allEntries = entries.toArray(ZipArchiveEntry.EMPTY_ZIP_ARCHIVE_ENTRY_ARRAY);
Arrays.sort(allEntries, offsetComparator);
return Collections.enumeration(Arrays.asList(allEntries));
}
@@ -488,7 +488,7 @@ public class ZipFile implements Closeable {
* @since 1.6
*/
public Iterable<ZipArchiveEntry> getEntriesInPhysicalOrder(final String name) {
- ZipArchiveEntry[] entriesOfThatName = new ZipArchiveEntry[0];
+ ZipArchiveEntry[] entriesOfThatName = ZipArchiveEntry.EMPTY_ZIP_ARCHIVE_ENTRY_ARRAY;
if (nameMap.containsKey(name)) {
entriesOfThatName = nameMap.get(name).toArray(entriesOfThatName);
Arrays.sort(entriesOfThatName, offsetComparator);
diff --git a/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java b/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java
index 227d1e1..633b672 100644
--- a/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java
+++ b/src/main/java/org/apache/commons/compress/compressors/deflate64/HuffmanDecoder.java
@@ -18,6 +18,7 @@
package org.apache.commons.compress.compressors.deflate64;
import org.apache.commons.compress.utils.BitInputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import java.io.Closeable;
import java.io.EOFException;
@@ -288,7 +289,7 @@ class HuffmanDecoder implements Closeable {
private final BinaryTreeNode distanceTree;
private int runBufferPos = 0;
- private byte[] runBuffer = new byte[0];
+ private byte[] runBuffer = ByteUtils.EMPTY_BYTE_ARRAY;
private int runBufferLength = 0;
HuffmanCodes(final HuffmanState state, final int[] lengths, final int[] distance) {
diff --git a/src/main/java/org/apache/commons/compress/utils/ByteUtils.java b/src/main/java/org/apache/commons/compress/utils/ByteUtils.java
index 01b5021..fad484f 100644
--- a/src/main/java/org/apache/commons/compress/utils/ByteUtils.java
+++ b/src/main/java/org/apache/commons/compress/utils/ByteUtils.java
@@ -29,6 +29,14 @@ import java.io.OutputStream;
* @since 1.14
*/
public final class ByteUtils {
+
+ /**
+ * Empty array.
+ *
+ * @since 1.21
+ */
+ public static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+
private ByteUtils() { /* no instances */ }
/**
diff --git a/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java b/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
index 51f5ac3..bee0751 100644
--- a/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
+++ b/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
@@ -61,7 +61,7 @@ public class SeekableInMemoryByteChannel implements SeekableByteChannel {
* Parameterless constructor - allocates internal buffer by itself.
*/
public SeekableInMemoryByteChannel() {
- this(new byte[0]);
+ this(ByteUtils.EMPTY_BYTE_ARRAY);
}
/**
diff --git a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
index ed3a9ce..e5b53b0 100644
--- a/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/ArchiveStreamFactoryTest.java
@@ -39,6 +39,7 @@ import org.apache.commons.compress.archivers.dump.DumpArchiveInputStream;
import org.apache.commons.compress.archivers.jar.JarArchiveInputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Test;
public class ArchiveStreamFactoryTest {
@@ -90,7 +91,7 @@ public class ArchiveStreamFactoryTest {
public void cantRead7zFromStream() throws Exception {
ArchiveStreamFactory.DEFAULT
.createArchiveInputStream(ArchiveStreamFactory.SEVEN_Z,
- new ByteArrayInputStream(new byte[0]));
+ new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
}
@Test(expected = StreamingNotSupportedException.class)
@@ -244,7 +245,7 @@ public class ArchiveStreamFactoryTest {
}
try {
- ArchiveStreamFactory.detect(new BufferedInputStream(new ByteArrayInputStream(new byte[0])));
+ ArchiveStreamFactory.detect(new BufferedInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY)));
fail("shouldn't be able to detect empty stream");
} catch (final ArchiveException e) {
assertEquals("No Archiver found for the stream signature", e.getMessage());
diff --git a/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java b/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
index e4fd699..2777863 100644
--- a/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
+++ b/src/test/java/org/apache/commons/compress/archivers/TarTestCase.java
@@ -35,6 +35,7 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
import org.apache.commons.compress.archivers.tar.TarFile;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.CharsetNames;
import org.apache.commons.compress.utils.IOUtils;
import org.junit.Test;
@@ -520,7 +521,7 @@ public final class TarTestCase extends AbstractTestCase {
assertEquals("directory/", directoryEntry.getName());
assertTrue(directoryEntry.isDirectory());
byte[] directoryRead = IOUtils.toByteArray(in);
- assertArrayEquals(new byte[0], directoryRead);
+ assertArrayEquals(ByteUtils.EMPTY_BYTE_ARRAY, directoryRead);
}
}
@@ -533,7 +534,7 @@ public final class TarTestCase extends AbstractTestCase {
assertTrue(directoryEntry.isDirectory());
try (InputStream directoryStream = tarFile.getInputStream(directoryEntry)) {
byte[] directoryRead = IOUtils.toByteArray(directoryStream);
- assertArrayEquals(new byte[0], directoryRead);
+ assertArrayEquals(ByteUtils.EMPTY_BYTE_ARRAY, directoryRead);
}
}
}
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
index 5c1a855..804519e 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
@@ -29,6 +29,7 @@ import org.apache.commons.compress.AbstractTestCase;
import org.apache.commons.compress.archivers.sevenz.Coders.DeflateDecoder;
import org.apache.commons.compress.archivers.sevenz.Coders.DeflateDecoder.DeflateDecoderInputStream;
import org.apache.commons.compress.archivers.sevenz.Coders.DeflateDecoder.DeflateDecoderOutputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Test;
public class SevenZNativeHeapTest extends AbstractTestCase {
@@ -51,7 +52,7 @@ public class SevenZNativeHeapTest extends AbstractTestCase {
final Coders.DeflateDecoder deflateDecoder = new DeflateDecoder();
final DelegatingInflater delegatingInflater;
try (final DeflateDecoderInputStream inputStream = (DeflateDecoderInputStream) deflateDecoder.decode("dummy",
- new ByteArrayInputStream(new byte[0]), 0, null, null, Integer.MAX_VALUE)) {
+ new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), 0, null, null, Integer.MAX_VALUE)) {
delegatingInflater = new DelegatingInflater(inputStream.inflater);
inputStream.inflater = delegatingInflater;
}
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java
index 4221c5e..6ff0e20 100644
--- a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFileTest.java
@@ -37,6 +37,7 @@ import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import org.apache.commons.compress.AbstractTestCase;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
import org.tukaani.xz.LZMA2Options;
@@ -81,7 +82,7 @@ public class SevenZOutputFileTest extends AbstractTestCase {
entry.setCreationDate(creationDate);
entry.setAccessDate(accessDate);
outArchive.putArchiveEntry(entry);
- outArchive.write(new byte[0]);
+ outArchive.write(ByteUtils.EMPTY_BYTE_ARRAY);
outArchive.closeArchiveEntry();
entry = new SevenZArchiveEntry();
@@ -89,7 +90,7 @@ public class SevenZOutputFileTest extends AbstractTestCase {
entry.setCreationDate(creationDate);
entry.setAccessDate(accessDate);
outArchive.putArchiveEntry(entry);
- outArchive.write(new ByteArrayInputStream(new byte[0]));
+ outArchive.write(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
outArchive.closeArchiveEntry();
entry = new SevenZArchiveEntry();
diff --git a/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java b/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
index 4eef161..9e915aa 100644
--- a/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.apache.commons.compress.archivers.zip.ZipEncoding;
import org.apache.commons.compress.archivers.zip.ZipEncodingHelper;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.CharsetNames;
import org.apache.commons.compress.utils.IOUtils;
import org.junit.Test;
@@ -90,7 +91,7 @@ public class TarUtilsTest {
@Test
public void testParseOctalInvalid() throws Exception{
byte [] buffer;
- buffer=new byte[0]; // empty byte array
+ buffer=ByteUtils.EMPTY_BYTE_ARRAY;
try {
TarUtils.parseOctal(buffer,0, buffer.length);
fail("Expected IllegalArgumentException - should be at least 2 bytes long");
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java
index 87c2fb0..0c8781f 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/BitStreamTest.java
@@ -23,13 +23,14 @@ import static org.junit.Assert.assertEquals;
import java.io.ByteArrayInputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Test;
public class BitStreamTest {
@Test
public void testEmptyStream() throws Exception {
- final BitStream stream = new BitStream(new ByteArrayInputStream(new byte[0]));
+ final BitStream stream = new BitStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
assertEquals("next bit", -1, stream.nextBit());
assertEquals("next bit", -1, stream.nextBit());
assertEquals("next bit", -1, stream.nextBit());
@@ -64,7 +65,7 @@ public class BitStreamTest {
@Test
public void testNextByteFromEmptyStream() throws Exception {
- final BitStream stream = new BitStream(new ByteArrayInputStream(new byte[0]));
+ final BitStream stream = new BitStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
assertEquals("next byte", -1, stream.nextByte());
assertEquals("next byte", -1, stream.nextByte());
stream.close();
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java
index f18ec57..1b963f6 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/X7875_NewUnixTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.commons.compress.archivers.zip;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Before;
import org.junit.Test;
@@ -101,7 +102,7 @@ public class X7875_NewUnixTest {
@Test
public void testTrimLeadingZeroesForceMinLength4() {
final byte[] NULL = null;
- final byte[] EMPTY = new byte[0];
+ final byte[] EMPTY = ByteUtils.EMPTY_BYTE_ARRAY;
final byte[] ONE_ZERO = {0};
final byte[] TWO_ZEROES = {0, 0};
final byte[] FOUR_ZEROES = {0, 0, 0, 0};
@@ -229,7 +230,7 @@ public class X7875_NewUnixTest {
assertEquals(0, xf.getCentralDirectoryLength().getValue());
result = xf.getCentralDirectoryData();
- assertArrayEquals(new byte[0], result);
+ assertArrayEquals(ByteUtils.EMPTY_BYTE_ARRAY, result);
// And now we re-parse:
xf.parseFromCentralDirectoryData(result, 0, result.length);
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java
index 122d8a9..ba0fef4 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java
@@ -29,6 +29,7 @@ import java.io.ByteArrayOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -52,7 +53,7 @@ public class ZipArchiveEntryTest {
a.setMode(0755);
final UnrecognizedExtraField u = new UnrecognizedExtraField();
u.setHeaderId(ExtraFieldUtilsTest.UNRECOGNIZED_HEADER);
- u.setLocalFileDataData(new byte[0]);
+ u.setLocalFileDataData(ByteUtils.EMPTY_BYTE_ARRAY);
final ZipArchiveEntry ze = new ZipArchiveEntry("test/");
ze.setExtraFields(new ZipExtraField[] {a, u});
@@ -106,7 +107,7 @@ public class ZipArchiveEntryTest {
a.setMode(0755);
final UnrecognizedExtraField u = new UnrecognizedExtraField();
u.setHeaderId(ExtraFieldUtilsTest.UNRECOGNIZED_HEADER);
- u.setLocalFileDataData(new byte[0]);
+ u.setLocalFileDataData(ByteUtils.EMPTY_BYTE_ARRAY);
final ZipArchiveEntry ze = new ZipArchiveEntry("test/");
ze.setExtraFields(new ZipExtraField[] {a, u});
@@ -153,7 +154,7 @@ public class ZipArchiveEntryTest {
a.setMode(0755);
final UnrecognizedExtraField u = new UnrecognizedExtraField();
u.setHeaderId(ExtraFieldUtilsTest.UNRECOGNIZED_HEADER);
- u.setLocalFileDataData(new byte[0]);
+ u.setLocalFileDataData(ByteUtils.EMPTY_BYTE_ARRAY);
final ZipArchiveEntry ze = new ZipArchiveEntry("test/");
ze.setExtraFields(new ZipExtraField[] {a, u});
@@ -363,7 +364,7 @@ public class ZipArchiveEntryTest {
a.setMode(0755);
final UnrecognizedExtraField u = new UnrecognizedExtraField();
u.setHeaderId(ExtraFieldUtilsTest.UNRECOGNIZED_HEADER);
- u.setLocalFileDataData(new byte[0]);
+ u.setLocalFileDataData(ByteUtils.EMPTY_BYTE_ARRAY);
final UnparseableExtraFieldData x = new UnparseableExtraFieldData();
final byte[] unparseable = new byte[] {
0, 0, (byte) 0xff, (byte) 0xff, 0, 0, 0
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
index 4fa303a..befabb3 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
@@ -44,6 +44,7 @@ import java.util.zip.ZipException;
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.ArchiveInputStream;
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.IOUtils;
import org.junit.Assert;
import org.junit.Rule;
@@ -324,7 +325,7 @@ public class ZipArchiveInputStreamTest {
@Test
public void properlyMarksEntriesAsUnreadableIfUncompressedSizeIsUnknown() throws Exception {
// we never read any data
- try (ZipArchiveInputStream zis = new ZipArchiveInputStream(new ByteArrayInputStream(new byte[0]))) {
+ try (ZipArchiveInputStream zis = new ZipArchiveInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY))) {
final ZipArchiveEntry e = new ZipArchiveEntry("test");
e.setMethod(ZipMethod.DEFLATED.getCode());
assertTrue(zis.canReadEntryData(e));
diff --git a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java
index 113696e..bab4b81 100644
--- a/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java
+++ b/src/test/java/org/apache/commons/compress/archivers/zip/ZipFileTest.java
@@ -52,6 +52,7 @@ import java.util.zip.CRC32;
import java.util.zip.Deflater;
import java.util.zip.ZipEntry;
+import org.apache.commons.compress.utils.ByteUtils;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.compress.utils.SeekableInMemoryByteChannel;
import org.junit.After;
@@ -767,7 +768,7 @@ public class ZipFileTest {
public void throwsExceptionWhenWritingPreamble() throws IOException {
final ZipArchiveOutputStream outputStream = new ZipArchiveOutputStream(new ByteArrayOutputStream());
outputStream.putArchiveEntry(new ZipArchiveEntry());
- outputStream.writePreamble(new byte[0]);
+ outputStream.writePreamble(ByteUtils.EMPTY_BYTE_ARRAY);
}
@Test
@@ -871,7 +872,7 @@ public class ZipFileTest {
final byte[] bytes = new byte[0x40000];
final int read = stream.read(bytes);
if (read < 0) {
- full = new byte[0];
+ full = ByteUtils.EMPTY_BYTE_ARRAY;
}
else {
full = readStreamRest(bytes, read, stream);
@@ -887,7 +888,7 @@ public class ZipFileTest {
byte[] full;
final int single = stream.read();
if (single < 0) {
- full = new byte[0];
+ full = ByteUtils.EMPTY_BYTE_ARRAY;
}
else {
final byte[] big = new byte[0x40000];
diff --git a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
index aa07498..8a0471a 100644
--- a/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
+++ b/src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java
@@ -39,6 +39,7 @@ import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream;
import org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream;
import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
import org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Test;
@SuppressWarnings("deprecation") // deliberately tests setDecompressConcatenated
@@ -119,7 +120,7 @@ public final class DetectCompressorTestCase {
assertTrue(zstd instanceof ZstdCompressorInputStream);
try {
- factory.createCompressorInputStream(new ByteArrayInputStream(new byte[0]));
+ factory.createCompressorInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
fail("No exception thrown for an empty input stream");
} catch (final CompressorException e) {
// expected
@@ -145,7 +146,7 @@ public final class DetectCompressorTestCase {
assertEquals(CompressorStreamFactory.LZMA, detect("COMPRESS-382"));
try {
- CompressorStreamFactory.detect(new BufferedInputStream(new ByteArrayInputStream(new byte[0])));
+ CompressorStreamFactory.detect(new BufferedInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY)));
fail("shouldn't be able to detect empty stream");
} catch (final CompressorException e) {
assertEquals("No Compressor found for the stream signature.", e.getMessage());
diff --git a/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java b/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java
index 4145018..19128da 100644
--- a/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStreamTest.java
@@ -22,6 +22,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import org.apache.commons.compress.utils.ByteUtils;
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
@@ -60,7 +61,7 @@ public class AbstractLZ77CompressorInputStreamTest {
@Test
public void prefillCanBeUsedForBackReferences() throws IOException {
final byte[] data = new byte[] { 1, 2, 3, 4 };
- try (TestStream s = new TestStream(new ByteArrayInputStream(new byte[0]))) {
+ try (TestStream s = new TestStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY))) {
s.prefill(data);
s.startBackReference(2, 4);
final byte[] r = new byte[4];
@@ -74,7 +75,7 @@ public class AbstractLZ77CompressorInputStreamTest {
final byte[] data = new byte[2048];
data[2046] = 3;
data[2047] = 4;
- try (TestStream s = new TestStream(new ByteArrayInputStream(new byte[0]))) {
+ try (TestStream s = new TestStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY))) {
s.prefill(data);
s.startBackReference(2, 4);
final byte[] r = new byte[4];
diff --git a/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java b/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java
index 7294c3a..45b52d3 100644
--- a/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ByteUtilsTest.java
@@ -69,7 +69,7 @@ public class ByteUtilsTest {
@Test(expected = IllegalArgumentException.class)
public void fromLittleEndianFromArrayThrowsForLengthTooBig() {
- fromLittleEndian(new byte[0], 0, 9);
+ fromLittleEndian(ByteUtils.EMPTY_BYTE_ARRAY, 0, 9);
}
@Test
@@ -86,7 +86,7 @@ public class ByteUtilsTest {
@Test(expected = IllegalArgumentException.class)
public void fromLittleEndianFromStreamThrowsForLengthTooBig() throws IOException {
- fromLittleEndian(new ByteArrayInputStream(new byte[0]), 9);
+ fromLittleEndian(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), 9);
}
@Test(expected = IOException.class)
@@ -110,7 +110,7 @@ public class ByteUtilsTest {
@Test(expected = IllegalArgumentException.class)
public void fromLittleEndianFromSupplierThrowsForLengthTooBig() throws IOException {
- fromLittleEndian(new InputStreamByteSupplier(new ByteArrayInputStream(new byte[0])), 9);
+ fromLittleEndian(new InputStreamByteSupplier(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY)), 9);
}
@Test(expected = IOException.class)
@@ -133,7 +133,7 @@ public class ByteUtilsTest {
@Test(expected = IllegalArgumentException.class)
public void fromLittleEndianFromDataInputThrowsForLengthTooBig() throws IOException {
- final DataInput din = new DataInputStream(new ByteArrayInputStream(new byte[0]));
+ final DataInput din = new DataInputStream(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY));
fromLittleEndian(din, 9);
}
diff --git a/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java
index 2b1c97c..d36d376 100644
--- a/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ChecksumCalculatingInputStreamTest.java
@@ -41,8 +41,7 @@ public class ChecksumCalculatingInputStreamTest {
public void testSkipReturningZero() throws IOException {
final Adler32 adler32 = new Adler32();
- final byte[] byteArray = new byte[0];
- final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArray);
+ final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY);
final ChecksumCalculatingInputStream checksumCalculatingInputStream = new ChecksumCalculatingInputStream(adler32, byteArrayInputStream);
final long skipResult = checksumCalculatingInputStream.skip(60L);
diff --git a/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java b/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java
index 57cacd5..9b2b314 100644
--- a/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/IOUtilsTest.java
@@ -89,7 +89,7 @@ public class IOUtilsTest {
@Test(expected = IllegalArgumentException.class)
public void copyThrowsOnZeroBufferSize() throws IOException {
- IOUtils.copy(new ByteArrayInputStream(new byte[0]), new ByteArrayOutputStream(), 0);
+ IOUtils.copy(new ByteArrayInputStream(ByteUtils.EMPTY_BYTE_ARRAY), new ByteArrayOutputStream(), 0);
}
private static void readFully(final byte[] source, final ByteBuffer b) throws IOException {
diff --git a/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java b/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
index dc9dedb..1bdfd3c 100644
--- a/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
@@ -144,7 +144,7 @@ public class MultiReadOnlySeekableByteChannelTest {
}
private SeekableByteChannel makeEmpty() {
- return makeSingle(new byte[0]);
+ return makeSingle(ByteUtils.EMPTY_BYTE_ARRAY);
}
private SeekableByteChannel makeSingle(final byte[] arr) {
diff --git a/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java b/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java
index 1bc7c2c..4259068 100644
--- a/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java
+++ b/src/test/java/org/apache/commons/compress/utils/ZipSplitReadOnlySeekableByteChannelTest.java
@@ -99,7 +99,7 @@ public class ZipSplitReadOnlySeekableByteChannelTest {
@Test
public void forOrderedSeekableByteChannelsReturnsIdentityForSingleElement() throws IOException {
- final SeekableByteChannel emptyChannel = new SeekableInMemoryByteChannel(new byte[0]);
+ final SeekableByteChannel emptyChannel = new SeekableInMemoryByteChannel(ByteUtils.EMPTY_BYTE_ARRAY);
final SeekableByteChannel channel = ZipSplitReadOnlySeekableByteChannel.forOrderedSeekableByteChannels(emptyChannel);
Assert.assertSame(emptyChannel, channel);
}