Use try with resources. git-svn-id: https://svn.apache.org/repos/asf/commons/proper/imaging/trunk@1775932 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/commons-imaging/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-imaging/commit/be1c5111 Tree: http://git-wip-us.apache.org/repos/asf/commons-imaging/tree/be1c5111 Diff: http://git-wip-us.apache.org/repos/asf/commons-imaging/diff/be1c5111 Branch: refs/heads/master Commit: be1c5111c25b1ad7401d04e246417ed22bc7ce37 Parents: 9658a25 Author: Gary D. Gregory <[email protected]> Authored: Fri Dec 23 23:29:00 2016 +0000 Committer: Gary D. Gregory <[email protected]> Committed: Fri Dec 23 23:29:00 2016 +0000 ---------------------------------------------------------------------- .../common/itu_t4/T4AndT6Compression.java | 41 ++++++++++---------- 1 file changed, 21 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-imaging/blob/be1c5111/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java b/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java index dcb6c77..5a090a7 100644 --- a/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java +++ b/src/main/java/org/apache/commons/imaging/common/itu_t4/T4AndT6Compression.java @@ -170,30 +170,31 @@ public final class T4AndT6Compression { public static byte[] compressT4_1D(final byte[] uncompressed, final int width, final int height, final boolean hasFill) throws ImageWriteException { final BitInputStreamFlexible inputStream = new BitInputStreamFlexible(new ByteArrayInputStream(uncompressed)); - final BitArrayOutputStream outputStream = new BitArrayOutputStream(); - if (hasFill) { - T4_T6_Tables.EOL16.writeBits(outputStream); - } else { - T4_T6_Tables.EOL.writeBits(outputStream); - } - - for (int y = 0; y < height; y++) { - compress1DLine(inputStream, outputStream, null, width); + try (final BitArrayOutputStream outputStream = new BitArrayOutputStream()) { if (hasFill) { - int bitsAvailable = outputStream.getBitsAvailableInCurrentByte(); - if (bitsAvailable < 4) { - outputStream.flush(); - bitsAvailable = 8; - } - for (; bitsAvailable > 4; bitsAvailable--) { - outputStream.writeBit(0); + T4_T6_Tables.EOL16.writeBits(outputStream); + } else { + T4_T6_Tables.EOL.writeBits(outputStream); + } + + for (int y = 0; y < height; y++) { + compress1DLine(inputStream, outputStream, null, width); + if (hasFill) { + int bitsAvailable = outputStream.getBitsAvailableInCurrentByte(); + if (bitsAvailable < 4) { + outputStream.flush(); + bitsAvailable = 8; + } + for (; bitsAvailable > 4; bitsAvailable--) { + outputStream.writeBit(0); + } } + T4_T6_Tables.EOL.writeBits(outputStream); + inputStream.flushCache(); } - T4_T6_Tables.EOL.writeBits(outputStream); - inputStream.flushCache(); + + return outputStream.toByteArray(); } - - return outputStream.toByteArray(); } /**
