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 2026/03/07 13:22:10 UTC
(commons-codec) 03/05: Reuse IOUtils.toByteArray(InputStream)
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-codec.git
commit d296a1906134899bf74df542a6bfc13127758b2c
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Mar 7 08:13:24 2026 -0500
Reuse IOUtils.toByteArray(InputStream)
---
.../commons/codec/binary/Base16InputStreamTest.java | 7 ++++---
.../commons/codec/binary/Base32InputStreamTest.java | 14 ++++++++------
.../commons/codec/binary/Base58InputStreamTest.java | 17 +++++++++++------
.../commons/codec/binary/Base64InputStreamTest.java | 15 +++++++++------
.../org/apache/commons/codec/binary/BaseNTestData.java | 12 ------------
5 files changed, 32 insertions(+), 33 deletions(-)
diff --git a/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java
index b431d62a..947e78c2 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java
@@ -27,6 +27,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;
/**
@@ -164,14 +165,14 @@ class Base16InputStreamTest {
private void testByChunk(final byte[] encoded, final byte[] decoded, final boolean lowerCase) throws IOException {
// Start with encode.
try (InputStream in = new Base16InputStream(new ByteArrayInputStream(decoded), true, lowerCase)) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(encoded, output, "Streaming Base16 encode");
}
// Now let's try to decode.
try (InputStream in = new Base16InputStream(new ByteArrayInputStream(encoded), false, lowerCase)) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming Base16 decode");
@@ -180,7 +181,7 @@ class Base16InputStreamTest {
try (InputStream in = new ByteArrayInputStream(decoded);
InputStream inEncode = new Base16InputStream(in, true, lowerCase);
InputStream inDecode = new Base16InputStream(inEncode, false, lowerCase)) {
- final byte[] output = BaseNTestData.streamToBytes(inDecode);
+ final byte[] output = IOUtils.toByteArray(inDecode);
assertEquals(-1, inDecode.read(), "EOF");
assertEquals(-1, inDecode.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming Base16 wrap-wrap!");
diff --git a/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java
index c1c02589..5d7c33d5 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java
@@ -30,6 +30,7 @@ import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.codec.CodecPolicy;
+import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;
/**
@@ -259,14 +260,14 @@ class Base32InputStreamTest {
private void testByChunk(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception {
// Start with encode.
try (InputStream in = new Base32InputStream(new ByteArrayInputStream(decoded), true, chunkSize, separator)) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(encoded, output, "Streaming base32 encode");
}
// Now let's try to decode.
try (InputStream in = new Base32InputStream(new ByteArrayInputStream(encoded))) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
@@ -278,7 +279,8 @@ class Base32InputStreamTest {
in = new Base32InputStream(in, true, chunkSize, separator);
in = new Base32InputStream(in, false);
}
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final InputStream in1 = in;
+ final byte[] output = IOUtils.toByteArray(in1);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming base32 wrap-wrap-wrap!");
@@ -548,11 +550,11 @@ class Base32InputStreamTest {
final Base32InputStream in = new Base32InputStream(new ByteArrayInputStream(encoded), false);
// Default is lenient decoding; it should not throw
assertFalse(in.isStrictDecoding());
- BaseNTestData.streamToBytes(in);
+ IOUtils.toByteArray(in);
// Strict decoding should throw
final Base32InputStream in2 = new Base32InputStream(new ByteArrayInputStream(encoded), false, 0, null, CodecPolicy.STRICT);
assertTrue(in2.isStrictDecoding());
- assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in2));
+ assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in2));
// Same with a builder
try (Base32InputStream in3 = Base32InputStream.builder()
.setByteArray(encoded)
@@ -560,7 +562,7 @@ class Base32InputStreamTest {
.setBaseNCodec(Base32.builder().setLineLength(0).setLineSeparator(null).setDecodingPolicy(CodecPolicy.STRICT).get())
.get()) {
assertTrue(in3.isStrictDecoding());
- assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in3));
+ assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in3));
}
}
}
diff --git a/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java
index fef0e3e7..39499a55 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java
@@ -27,6 +27,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;
/**
@@ -132,13 +133,13 @@ class Base58InputStreamTest {
*/
private void testByChunk(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception {
try (InputStream in = Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(encoded, output, "Streaming base58 encode");
}
try (InputStream in = new Base58InputStream(new ByteArrayInputStream(encoded))) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming base58 decode");
@@ -148,7 +149,8 @@ class Base58InputStreamTest {
in = Base58InputStream.builder().setInputStream(in).setEncode(true).get();
in = Base58InputStream.builder().setInputStream(in).setEncode(false).get();
}
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final InputStream in1 = in;
+ final byte[] output = IOUtils.toByteArray(in1);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming base58 wrap-wrap-wrap!");
@@ -170,13 +172,15 @@ class Base58InputStreamTest {
private void testByteByByte(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception {
InputStream in;
in = Base58InputStream.builder().setByteArray(decoded).setEncode(true).get();
- byte[] output = BaseNTestData.streamToBytes(in);
+ final InputStream in1 = in;
+ byte[] output = IOUtils.toByteArray(in1);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(encoded, output, "Streaming base58 encode");
in.close();
in = new Base58InputStream(new ByteArrayInputStream(encoded));
- output = BaseNTestData.streamToBytes(in);
+ final InputStream in2 = in;
+ output = IOUtils.toByteArray(in2);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming base58 decode");
@@ -186,7 +190,8 @@ class Base58InputStreamTest {
in = Base58InputStream.builder().setInputStream(in).setEncode(true).get();
in = Base58InputStream.builder().setInputStream(in).setEncode(false).get();
}
- output = BaseNTestData.streamToBytes(in);
+ final InputStream in3 = in;
+ output = IOUtils.toByteArray(in3);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(decoded, output, "Streaming base58 wrap-wrap-wrap!");
diff --git a/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java b/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java
index 7698f8ec..cf8bcd43 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java
@@ -32,6 +32,7 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.commons.codec.CodecPolicy;
+import org.apache.commons.io.IOUtils;
import org.junit.jupiter.api.Test;
/**
@@ -203,7 +204,7 @@ class Base64InputStreamTest {
private void testByChunk(final byte[] encoded, final byte[] decoded, final int chunkSize, final byte[] separator) throws Exception {
// Start with encode.
try (InputStream in = new Base64InputStream(new ByteArrayInputStream(decoded), true, chunkSize, separator)) {
- final byte[] output = BaseNTestData.streamToBytes(in);
+ final byte[] output = IOUtils.toByteArray(in);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
assertArrayEquals(encoded, output, "Streaming base64 encode");
@@ -211,7 +212,8 @@ class Base64InputStreamTest {
// Now let's try to decode.
InputStream in = new Base64InputStream(new ByteArrayInputStream(encoded));
- byte[] output = BaseNTestData.streamToBytes(in);
+ final InputStream in1 = in;
+ byte[] output = IOUtils.toByteArray(in1);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
@@ -223,7 +225,8 @@ class Base64InputStreamTest {
in = new Base64InputStream(in, true, chunkSize, separator);
in = new Base64InputStream(in, false);
}
- output = BaseNTestData.streamToBytes(in);
+ final InputStream in2 = in;
+ output = IOUtils.toByteArray(in2);
assertEquals(-1, in.read(), "EOF");
assertEquals(-1, in.read(), "Still EOF");
@@ -580,11 +583,11 @@ class Base64InputStreamTest {
final Base64InputStream in = new Base64InputStream(new ByteArrayInputStream(encoded), false);
// Default is lenient decoding; it should not throw
assertFalse(in.isStrictDecoding());
- BaseNTestData.streamToBytes(in);
+ IOUtils.toByteArray(in);
// Strict decoding should throw
final Base64InputStream in2 = new Base64InputStream(new ByteArrayInputStream(encoded), false, 0, null, CodecPolicy.STRICT);
assertTrue(in2.isStrictDecoding());
- assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in2));
+ assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in2));
// Same with a builder
try (Base64InputStream in3 = Base64InputStream.builder()
.setByteArray(encoded)
@@ -592,7 +595,7 @@ class Base64InputStreamTest {
.setBaseNCodec(Base64.builder().setLineLength(0).setLineSeparator(null).setDecodingPolicy(CodecPolicy.STRICT).get())
.get()) {
assertTrue(in3.isStrictDecoding());
- assertThrows(IllegalArgumentException.class, () -> BaseNTestData.streamToBytes(in3));
+ assertThrows(IllegalArgumentException.class, () -> IOUtils.toByteArray(in3));
}
}
}
diff --git a/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java b/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java
index 2714283a..63b992f7 100644
--- a/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java
+++ b/src/test/java/org/apache/commons/codec/binary/BaseNTestData.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Random;
-import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
/**
@@ -129,17 +128,6 @@ public class BaseNTestData {
return biggerBytes;
}
- /**
- * Reads all bytes from an InputStream into a byte array.
- *
- * @param in the input stream.
- * @return the byte array
- * @throws IOException if an error occurs whilst reading the input stream
- */
- static byte[] streamToBytes(final InputStream in) throws IOException {
- return IOUtils.toByteArray(in);
- }
-
/**
* Reads all bytes from an InputStream into a byte array
* in chunks of {@code buf.length}.