This is an automated email from the ASF dual-hosted git repository.

garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-imaging.git


The following commit(s) were added to refs/heads/master by this push:
     new c556c7a2 Better print stream API usage and reuse constants
c556c7a2 is described below

commit c556c7a262800e29f08fbe1c26d59e18a91c0a3c
Author: Gary Gregory <[email protected]>
AuthorDate: Sun Jul 26 11:21:28 2026 -0400

    Better print stream API usage and reuse constants
---
 .../java/org/apache/commons/imaging/FormatCompliance.java  |  2 +-
 src/main/java/org/apache/commons/imaging/ImageDump.java    |  3 ++-
 src/main/java/org/apache/commons/imaging/ImageInfo.java    |  4 +++-
 .../org/apache/commons/imaging/common/BinaryFunctions.java |  3 ++-
 .../commons/imaging/common/GenericImageMetadata.java       |  4 +++-
 .../apache/commons/imaging/formats/bmp/BmpImageParser.java |  9 +++------
 .../commons/imaging/formats/gif/GifImageMetadata.java      |  4 +++-
 .../commons/imaging/formats/gif/GifImageMetadataItem.java  |  5 ++++-
 .../apache/commons/imaging/formats/gif/GifImageParser.java | 11 +++--------
 .../commons/imaging/formats/icns/IcnsImageParser.java      |  7 ++++---
 .../commons/imaging/formats/jpeg/JpegImageMetadata.java    |  6 +++---
 .../commons/imaging/formats/jpeg/JpegImageParser.java      |  7 ++++---
 .../org/apache/commons/imaging/formats/jpeg/JpegUtils.java |  3 ++-
 .../commons/imaging/formats/jpeg/iptc/IptcParser.java      | 14 ++++++++------
 .../commons/imaging/formats/png/PngImageMetadata.java      |  5 +----
 .../apache/commons/imaging/formats/png/PngImageParser.java | 13 +++----------
 .../apache/commons/imaging/formats/pnm/PnmImageParser.java |  9 +++------
 .../apache/commons/imaging/formats/psd/PsdHeaderInfo.java  |  4 ++--
 .../commons/imaging/formats/psd/PsdImageContents.java      |  4 ++--
 .../apache/commons/imaging/formats/psd/PsdImageParser.java |  5 +++--
 .../commons/imaging/formats/tiff/TiffImageMetadata.java    |  8 +++++---
 .../commons/imaging/formats/tiff/TiffImageParser.java      |  9 +++++----
 .../imaging/formats/tiff/fieldtypes/FieldTypeAscii.java    |  3 ++-
 .../imaging/formats/tiff/taginfos/TagInfoAscii.java        |  3 ++-
 .../imaging/formats/tiff/write/TiffOutputField.java        |  6 +++---
 .../commons/imaging/formats/tiff/write/TiffOutputSet.java  |  6 +++---
 .../apache/commons/imaging/formats/xpm/XpmImageParser.java |  2 +-
 .../org/apache/commons/imaging/icc/IccProfileInfo.java     |  3 ++-
 src/main/java/org/apache/commons/imaging/icc/IccTag.java   |  2 +-
 .../java/org/apache/commons/imaging/internal/Debug.java    |  4 +++-
 .../java/org/apache/commons/imaging/ImageInfoTest.java     |  5 +++--
 .../imaging/examples/tiff/ReadAndRenderFloatingPoint.java  |  4 ++--
 .../commons/imaging/examples/tiff/ReadTagsAndImages.java   |  8 ++++----
 .../commons/imaging/examples/tiff/SurveyTiffFile.java      |  9 +++++----
 .../commons/imaging/examples/tiff/SurveyTiffFolder.java    |  2 +-
 .../formats/tiff/TiffFloatingPointMultivariableTest.java   |  3 ++-
 .../imaging/formats/tiff/TiffReadImageInfoTest.java        |  7 ++++---
 .../imaging/formats/tiff/TiffReadWriteTagsTest.java        |  3 ++-
 .../formats/tiff/fieldtypes/FieldTypeShortTest.java        |  5 +++--
 .../formats/tiff/itu_t4/HuffmanTreeExceptionTest.java      |  5 +++--
 .../imaging/formats/tiff/taginfos/TagInfoByteTest.java     |  3 ++-
 .../imaging/formats/tiff/taginfos/TagInfoSByteTest.java    |  3 ++-
 .../imaging/formats/tiff/taginfos/TagInfoSBytesTest.java   |  3 ++-
 .../imaging/formats/tiff/taginfos/TagInfoSShortsTest.java  |  3 ++-
 .../imaging/formats/tiff/taginfos/TagInfoUnknownTest.java  |  3 ++-
 .../commons/imaging/formats/webp/WebPMetadataTest.java     |  3 ++-
 46 files changed, 127 insertions(+), 110 deletions(-)

diff --git a/src/main/java/org/apache/commons/imaging/FormatCompliance.java 
b/src/main/java/org/apache/commons/imaging/FormatCompliance.java
index 50c810e3..04f8d5fa 100644
--- a/src/main/java/org/apache/commons/imaging/FormatCompliance.java
+++ b/src/main/java/org/apache/commons/imaging/FormatCompliance.java
@@ -216,7 +216,7 @@ public class FormatCompliance {
                 pw.println("\t" + (i + 1) + ": " + comments.get(i));
             }
         }
-        pw.println("");
+        pw.println();
         pw.flush();
     }
 
diff --git a/src/main/java/org/apache/commons/imaging/ImageDump.java 
b/src/main/java/org/apache/commons/imaging/ImageDump.java
index 2f384772..169af392 100644
--- a/src/main/java/org/apache/commons/imaging/ImageDump.java
+++ b/src/main/java/org/apache/commons/imaging/ImageDump.java
@@ -25,6 +25,7 @@ import java.util.logging.Logger;
 
 import org.apache.commons.imaging.icc.IccProfileInfo;
 import org.apache.commons.imaging.icc.IccProfileParser;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Used to store metadata and descriptive information extracted from image 
files.
@@ -46,7 +47,7 @@ public class ImageDump {
      * @throws IOException if an I/O error occurs.
      */
     public void dump(final BufferedImage src) throws IOException {
-        dump("", src);
+        dump(StringUtils.EMPTY, src);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/imaging/ImageInfo.java 
b/src/main/java/org/apache/commons/imaging/ImageInfo.java
index 40672114..2166b6bb 100644
--- a/src/main/java/org/apache/commons/imaging/ImageInfo.java
+++ b/src/main/java/org/apache/commons/imaging/ImageInfo.java
@@ -23,6 +23,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.logging.Logger;
 
+import org.apache.commons.lang3.StringUtils;
+
 /**
  * ImageInfo represents a collection of basic properties of an image, such as 
width, height, format, bit depth, etc.
  */
@@ -404,7 +406,7 @@ public class ImageInfo {
             final StringWriter sw = new StringWriter();
             final PrintWriter pw = new PrintWriter(sw);
 
-            toString(pw, "");
+            toString(pw, StringUtils.EMPTY);
             pw.flush();
 
             return sw.toString();
diff --git 
a/src/main/java/org/apache/commons/imaging/common/BinaryFunctions.java 
b/src/main/java/org/apache/commons/imaging/common/BinaryFunctions.java
index 583ed3ff..c829b5f8 100644
--- a/src/main/java/org/apache/commons/imaging/common/BinaryFunctions.java
+++ b/src/main/java/org/apache/commons/imaging/common/BinaryFunctions.java
@@ -28,6 +28,7 @@ import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.RandomAccessFiles;
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Convenience methods for various binary and I/O operations.
@@ -366,7 +367,7 @@ public final class BinaryFunctions {
      * @throws IOException if an I/O error occurs.
      */
     public static byte[] readBytes(final InputStream in, final int count) 
throws IOException {
-        return readBytes("", in, count, "Unexpected EOF");
+        return readBytes(StringUtils.EMPTY, in, count, "Unexpected EOF");
     }
 
     /**
diff --git 
a/src/main/java/org/apache/commons/imaging/common/GenericImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/common/GenericImageMetadata.java
index 38347173..d48c7017 100644
--- a/src/main/java/org/apache/commons/imaging/common/GenericImageMetadata.java
+++ b/src/main/java/org/apache/commons/imaging/common/GenericImageMetadata.java
@@ -19,6 +19,8 @@ package org.apache.commons.imaging.common;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
+
 /**
  * Generic implementation of image metadata.
  */
@@ -119,7 +121,7 @@ public class GenericImageMetadata implements ImageMetadata {
     @Override
     public String toString(String prefix) {
         if (prefix == null) {
-            prefix = "";
+            prefix = StringUtils.EMPTY;
         }
 
         final StringBuilder result = new StringBuilder();
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
index d21985cd..2c48317b 100644
--- a/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/bmp/BmpImageParser.java
@@ -47,6 +47,7 @@ import org.apache.commons.imaging.common.ImageBuilder;
 import org.apache.commons.imaging.common.ImageMetadata;
 import org.apache.commons.imaging.palette.PaletteFactory;
 import org.apache.commons.imaging.palette.SimplePalette;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses the BMP (Windows Bitmap) image format.
@@ -75,13 +76,9 @@ public class BmpImageParser extends 
AbstractImageParser<BmpImagingParameters> {
     @Override
     public boolean dumpImageFile(final PrintWriter pw, final ByteSource 
byteSource) throws ImagingException, IOException {
         pw.println("bmp.dumpImageFile");
-
         final ImageInfo imageData = getImageInfo(byteSource, null);
-
-        imageData.toString(pw, "");
-
-        pw.println("");
-
+        imageData.toString(pw, StringUtils.EMPTY);
+        pw.println();
         return true;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadata.java
index 5e5ac6ea..4d84ff6f 100644
--- a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadata.java
+++ b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadata.java
@@ -19,8 +19,10 @@ package org.apache.commons.imaging.formats.gif;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.commons.imaging.common.ImageMetadata;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Metadata for GIF images.
@@ -63,7 +65,7 @@ public class GifImageMetadata implements ImageMetadata {
 
     @Override
     public String toString(String prefix) {
-        prefix = prefix == null ? "" : prefix;
+        prefix = Objects.toString(prefix, StringUtils.EMPTY);
         final StringBuilder result = new StringBuilder();
         result.append(String.format("%sGIF metadata:", prefix));
         result.append(String.format("%sWidth: %d%s", prefix, width, NEWLINE));
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadataItem.java
 
b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadataItem.java
index 9e3bbed7..2929c07b 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadataItem.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageMetadataItem.java
@@ -16,7 +16,10 @@
  */
 package org.apache.commons.imaging.formats.gif;
 
+import java.util.Objects;
+
 import org.apache.commons.imaging.common.ImageMetadata;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Metadata for a single frame in a GIF image.
@@ -73,7 +76,7 @@ public class GifImageMetadataItem implements 
ImageMetadata.ImageMetadataItem {
 
     @Override
     public String toString(String prefix) {
-        prefix = prefix == null ? "" : prefix;
+        prefix = Objects.toString(prefix, StringUtils.EMPTY);
         final StringBuilder result = new StringBuilder();
         result.append(String.format("%sDelay: %d%s", prefix, delay, NEWLINE));
         result.append(String.format("%sLeft position: %d%s", prefix, 
leftPosition, NEWLINE));
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
index d75d5078..ca05cf13 100644
--- a/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/gif/GifImageParser.java
@@ -48,6 +48,7 @@ import org.apache.commons.imaging.mylzw.MyLzwCompressor;
 import org.apache.commons.imaging.mylzw.MyLzwDecompressor;
 import org.apache.commons.imaging.palette.Palette;
 import org.apache.commons.imaging.palette.PaletteFactory;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses GIF (Graphics Interchange Format) images.
@@ -124,24 +125,18 @@ public class GifImageParser extends 
AbstractImageParser<GifImagingParameters> im
     @Override
     public boolean dumpImageFile(final PrintWriter pw, final ByteSource 
byteSource) throws ImagingException, IOException {
         pw.println("gif.dumpImageFile");
-
         final ImageInfo imageData = getImageInfo(byteSource);
         if (imageData == null) {
             return false;
         }
-
-        imageData.toString(pw, "");
-
+        imageData.toString(pw, StringUtils.EMPTY);
         final GifImageContents blocks = readFile(byteSource, false);
-
         pw.println("gif.blocks: " + blocks.blocks.size());
         for (int i = 0; i < blocks.blocks.size(); i++) {
             final GifBlock gifBlock = blocks.blocks.get(i);
             this.debugNumber(pw, "\t" + i + " (" + 
gifBlock.getClass().getName() + ")", gifBlock.blockCode, 4);
         }
-
-        pw.println("");
-
+        pw.println();
         return true;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java
index cf726d3d..07438e80 100644
--- a/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/icns/IcnsImageParser.java
@@ -36,6 +36,7 @@ import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.bytesource.ByteSource;
 import org.apache.commons.imaging.common.AbstractBinaryOutputStream;
 import org.apache.commons.imaging.common.ImageMetadata;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses the Apple Icon Image (.icns) format.
@@ -68,13 +69,13 @@ public class IcnsImageParser extends 
AbstractImageParser<IcnsImagingParameters>
             final IcnsType icnsType = IcnsType.findAnyType(type);
             final String typeDescription;
             if (icnsType == null) {
-                typeDescription = "";
+                typeDescription = StringUtils.EMPTY;
             } else {
                 typeDescription = " " + icnsType.toString();
             }
             pw.println("Type: 0x" + Integer.toHexString(type) + " (" + 
IcnsType.describeType(type) + ")" + typeDescription);
             pw.println("ElementSize: " + elementSize);
-            pw.println("");
+            pw.println();
         }
     }
 
@@ -91,7 +92,7 @@ public class IcnsImageParser extends 
AbstractImageParser<IcnsImagingParameters>
             pw.println("IcnsHeader");
             pw.println("Magic: 0x" + Integer.toHexString(magic) + " (" + 
IcnsType.describeType(magic) + ")");
             pw.println("FileSize: " + fileSize);
-            pw.println("");
+            pw.println();
         }
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
index 24f6e22a..c02dd29a 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageMetadata.java
@@ -22,6 +22,7 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 import javax.imageio.ImageIO;
 
@@ -34,6 +35,7 @@ import org.apache.commons.imaging.formats.tiff.TiffField;
 import org.apache.commons.imaging.formats.tiff.TiffImageMetadata;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.internal.Debug;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * JPEG image metadata.
@@ -242,9 +244,7 @@ public class JpegImageMetadata implements ImageMetadata {
 
     @Override
     public String toString(String prefix) {
-        if (prefix == null) {
-            prefix = "";
-        }
+        prefix = Objects.toString(prefix, StringUtils.EMPTY);
 
         final StringBuilder result = new StringBuilder();
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
index 622e98ba..3b1c26e4 100644
--- a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegImageParser.java
@@ -62,6 +62,7 @@ import 
org.apache.commons.imaging.formats.tiff.TiffImagingParameters;
 import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
 import org.apache.commons.imaging.internal.Debug;
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * JPEG image parser.
@@ -154,10 +155,10 @@ public class JpegImageParser extends 
AbstractImageParser<JpegImagingParameters>
                 return false;
             }
 
-            imageInfo.toString(pw, "");
+            imageInfo.toString(pw, StringUtils.EMPTY);
         }
 
-        pw.println("");
+        pw.println();
 
         {
             final List<AbstractSegment> abstractSegments = 
readSegments(byteSource, null, false);
@@ -177,7 +178,7 @@ public class JpegImageParser extends 
AbstractImageParser<JpegImagingParameters>
                 abstractSegment.dump(pw);
             }
 
-            pw.println("");
+            pw.println();
         }
 
         return true;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java
index 13e610d0..8392ad3f 100644
--- a/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java
+++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/JpegUtils.java
@@ -26,6 +26,7 @@ import org.apache.commons.imaging.common.BinaryFunctions;
 import org.apache.commons.imaging.common.ByteConversions;
 import org.apache.commons.imaging.internal.Debug;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * JPEG utility methods.
@@ -186,7 +187,7 @@ public class JpegUtils extends BinaryFileParser {
             @Override
             public void visitSos(final int marker, final byte[] markerBytes, 
final byte[] imageData) {
                 Debug.debug("SOS marker.  " + imageData.length + " bytes of 
image data.");
-                Debug.debug("");
+                Debug.debug(StringUtils.EMPTY);
             }
         };
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java 
b/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
index c3155f9b..fd970290 100644
--- a/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/jpeg/iptc/IptcParser.java
@@ -42,6 +42,7 @@ import org.apache.commons.imaging.common.ByteConversions;
 import org.apache.commons.imaging.formats.jpeg.JpegConstants;
 import org.apache.commons.imaging.formats.jpeg.JpegImagingParameters;
 import org.apache.commons.imaging.internal.Debug;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses IPTC (International Press Telecommunications Council) metadata in 
JPEG images.
@@ -129,7 +130,7 @@ public class IptcParser extends BinaryFileParser {
             // Note that these are unsigned quantities. Name is always an even
             // number of bytes (including the 1st byte, which is the size.)
 
-            final byte[] idString = BinaryFunctions.readBytes("", bis, 
JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.size(),
+            final byte[] idString = 
BinaryFunctions.readBytes(StringUtils.EMPTY, bis, 
JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.size(),
                     "App13 Segment missing identification string");
             if 
(!JpegConstants.PHOTOSHOP_IDENTIFICATION_STRING.equals(idString)) {
                 throw new ImagingException("Not a Photoshop App13 Segment");
@@ -140,7 +141,8 @@ public class IptcParser extends BinaryFileParser {
             while (true) {
                 final int imageResourceBlockSignature;
                 try {
-                    imageResourceBlockSignature = 
BinaryFunctions.read4Bytes("", bis, "Image Resource Block missing 
identification string", APP13_BYTE_ORDER);
+                    imageResourceBlockSignature = 
BinaryFunctions.read4Bytes(StringUtils.EMPTY, bis, "Image Resource Block 
missing identification string",
+                            APP13_BYTE_ORDER);
                 } catch (final IOException ioEx) {
                     break;
                 }
@@ -148,7 +150,7 @@ public class IptcParser extends BinaryFileParser {
                     throw new ImagingException("Invalid Image Resource Block 
Signature");
                 }
 
-                final int blockType = BinaryFunctions.read2Bytes("", bis, 
"Image Resource Block missing type", APP13_BYTE_ORDER);
+                final int blockType = 
BinaryFunctions.read2Bytes(StringUtils.EMPTY, bis, "Image Resource Block 
missing type", APP13_BYTE_ORDER);
                 Debug.debug("blockType: " + blockType + " (0x" + 
Integer.toHexString(blockType) + ")");
 
                 // skip blocks that the photoshop spec recommends to, see 
IMAGING-246
@@ -171,7 +173,7 @@ public class IptcParser extends BinaryFileParser {
                     blockNameBytes = ImagingConstants.EMPTY_BYTE_ARRAY;
                 } else {
                     try {
-                        blockNameBytes = BinaryFunctions.readBytes("", bis, 
blockNameLength, "Invalid Image Resource Block name");
+                        blockNameBytes = 
BinaryFunctions.readBytes(StringUtils.EMPTY, bis, blockNameLength, "Invalid 
Image Resource Block name");
                     } catch (final IOException ioEx) {
                         if (strict) {
                             throw ioEx;
@@ -184,7 +186,7 @@ public class IptcParser extends BinaryFileParser {
                     }
                 }
 
-                final int blockSize = BinaryFunctions.read4Bytes("", bis, 
"Image Resource Block missing size", APP13_BYTE_ORDER);
+                final int blockSize = 
BinaryFunctions.read4Bytes(StringUtils.EMPTY, bis, "Image Resource Block 
missing size", APP13_BYTE_ORDER);
                 Debug.debug("blockSize: " + blockSize + " (0x" + 
Integer.toHexString(blockSize) + ")");
 
                 /*
@@ -196,7 +198,7 @@ public class IptcParser extends BinaryFileParser {
 
                 final byte[] blockData;
                 try {
-                    blockData = BinaryFunctions.readBytes("", bis, blockSize, 
"Invalid Image Resource Block data");
+                    blockData = BinaryFunctions.readBytes(StringUtils.EMPTY, 
bis, blockSize, "Invalid Image Resource Block data");
                 } catch (final IOException ioEx) {
                     if (strict) {
                         throw ioEx;
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java
index 88e04789..0ae22e4d 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageMetadata.java
@@ -99,10 +99,7 @@ public class PngImageMetadata implements ImageMetadata {
 
     @Override
     public String toString(String prefix) {
-        if (prefix == null) {
-            prefix = "";
-        }
-
+        prefix = Objects.toString(prefix, "prefix");
         final StringBuilder result = new StringBuilder();
 
         result.append(prefix);
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
index eacebddb..6086963a 100644
--- a/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/png/PngImageParser.java
@@ -67,6 +67,7 @@ import 
org.apache.commons.imaging.formats.tiff.TiffImageMetadata;
 import org.apache.commons.imaging.formats.tiff.TiffImageParser;
 import org.apache.commons.imaging.formats.tiff.TiffImagingParameters;
 import org.apache.commons.imaging.icc.IccProfileParser;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses PNG images.
@@ -106,9 +107,7 @@ public class PngImageParser extends 
AbstractImageParser<PngImagingParameters> im
         if (imageInfo == null) {
             return false;
         }
-
-        imageInfo.toString(pw, "");
-
+        imageInfo.toString(pw, StringUtils.EMPTY);
         final List<PngChunk> chunks = readChunks(byteSource, null, false);
         final List<PngChunk> IHDRs = filterChunks(chunks, ChunkType.IHDR);
         if (IHDRs.size() != 1) {
@@ -119,22 +118,16 @@ public class PngImageParser extends 
AbstractImageParser<PngImagingParameters> im
         }
         final PngChunkIhdr pngChunkIHDR = (PngChunkIhdr) IHDRs.get(0);
         pw.println("Color: " + pngChunkIHDR.getPngColorType().name());
-
         pw.println("chunks: " + chunks.size());
-
         if (chunks.isEmpty()) {
             return false;
         }
-
         for (int i = 0; i < chunks.size(); i++) {
             final PngChunk chunk = chunks.get(i);
             BinaryFunctions.printCharQuad(pw, "\t" + i + ": ", 
chunk.getChunkType());
         }
-
-        pw.println("");
-
+        pw.println();
         pw.flush();
-
         return true;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
index 255512b9..0eb40210 100644
--- a/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/pnm/PnmImageParser.java
@@ -39,6 +39,7 @@ import org.apache.commons.imaging.bytesource.ByteSource;
 import org.apache.commons.imaging.common.ImageBuilder;
 import org.apache.commons.imaging.common.ImageMetadata;
 import org.apache.commons.imaging.palette.PaletteFactory;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses the PNM (Portable aNyMap) image format.
@@ -99,16 +100,12 @@ public class PnmImageParser extends 
AbstractImageParser<PnmImagingParameters> {
     @Override
     public boolean dumpImageFile(final PrintWriter pw, final ByteSource 
byteSource) throws ImagingException, IOException {
         pw.println("pnm.dumpImageFile");
-
         final ImageInfo imageData = getImageInfo(byteSource);
         if (imageData == null) {
             return false;
         }
-
-        imageData.toString(pw, "");
-
-        pw.println("");
-
+        imageData.toString(pw, StringUtils.EMPTY);
+        pw.println();
         return true;
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/psd/PsdHeaderInfo.java 
b/src/main/java/org/apache/commons/imaging/formats/psd/PsdHeaderInfo.java
index 9fdda14a..344b4cfa 100644
--- a/src/main/java/org/apache/commons/imaging/formats/psd/PsdHeaderInfo.java
+++ b/src/main/java/org/apache/commons/imaging/formats/psd/PsdHeaderInfo.java
@@ -92,7 +92,7 @@ public class PsdHeaderInfo {
      * @param pw The print writer.
      */
     public void dump(final PrintWriter pw) {
-        pw.println("");
+        pw.println();
         pw.println("Header");
         pw.println("Version: " + version + " (" + Integer.toHexString(version) 
+ ")");
         pw.println("Channels: " + channels + " (" + 
Integer.toHexString(channels) + ")");
@@ -101,7 +101,7 @@ public class PsdHeaderInfo {
         pw.println("Depth: " + depth + " (" + Integer.toHexString(depth) + 
")");
         pw.println("Mode: " + mode + " (" + Integer.toHexString(mode) + ")");
         pw.println("Reserved: " + reserved.length);
-        pw.println("");
+        pw.println();
         pw.flush();
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageContents.java 
b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageContents.java
index 2be4b3c1..d91510a1 100644
--- a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageContents.java
+++ b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageContents.java
@@ -84,7 +84,7 @@ public class PsdImageContents {
      * @param pw The print writer.
      */
     public void dump(final PrintWriter pw) {
-        pw.println("");
+        pw.println();
         pw.println("ImageContents");
         pw.println("Compression: " + compression + " (" + 
Integer.toHexString(compression) + ")");
         pw.println("ColorModeDataLength: " + colorModeDataLength + " (" + 
Integer.toHexString(colorModeDataLength) + ")");
@@ -95,7 +95,7 @@ public class PsdImageContents {
         // System.out.println("Mode: " + Mode + " (" + 
Integer.toHexString(Mode)
         // + ")");
         // System.out.println("Reserved: " + Reserved.length);
-        pw.println("");
+        pw.println();
         pw.flush();
 
     }
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
index 007379b1..17b9c280 100644
--- a/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/psd/PsdImageParser.java
@@ -48,6 +48,7 @@ import 
org.apache.commons.imaging.formats.psd.datareaders.DataReader;
 import 
org.apache.commons.imaging.formats.psd.datareaders.UncompressedDataReader;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Parses Adobe Photoshop PSD image files.
@@ -89,7 +90,7 @@ public class PsdImageParser extends 
AbstractImageParser<PsdImagingParameters> im
             return false;
         }
 
-        fImageData.toString(pw, "");
+        fImageData.toString(pw, StringUtils.EMPTY);
         final PsdImageContents imageContents = readImageContents(byteSource);
 
         imageContents.dump(pw);
@@ -111,7 +112,7 @@ public class PsdImageParser extends 
AbstractImageParser<PsdImagingParameters> im
                     + " data: " + block.data.length + " type: '" + 
ImageResourceType.getDescription(block.id) + "' )");
         }
 
-        pw.println("");
+        pw.println();
 
         return true;
     }
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
index 7d449e32..f72740c1 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageMetadata.java
@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.nio.ByteOrder;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.common.GenericImageMetadata;
@@ -46,6 +47,7 @@ import 
org.apache.commons.imaging.formats.tiff.taginfos.TagInfoXpString;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputField;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * TIFF image metadata.
@@ -196,9 +198,9 @@ public class TiffImageMetadata extends GenericImageMetadata 
{
 
         @Override
         public String toString(final String prefix) {
-            return (prefix != null ? prefix : "") + directory.description() + 
": " //
-                    + (getTiffImageData() != null ? " (tiffImageData)" : "") //
-                    + (getJpegImageData() != null ? " (jpegImageData)" : "") //
+            return Objects.toString(prefix, StringUtils.EMPTY) + 
directory.description() + ": " //
+                    + (getTiffImageData() != null ? " (tiffImageData)" : 
StringUtils.EMPTY) //
+                    + (getJpegImageData() != null ? " (jpegImageData)" : 
StringUtils.EMPTY) //
                     + "\n" + super.toString(prefix) + "\n";
         }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
index e33fbba4..f24fc6c7 100644
--- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffImageParser.java
@@ -54,6 +54,7 @@ import 
org.apache.commons.imaging.formats.tiff.photometricinterpreters.Photometr
 import 
org.apache.commons.imaging.formats.tiff.photometricinterpreters.PhotometricInterpreterRgb;
 import 
org.apache.commons.imaging.formats.tiff.photometricinterpreters.PhotometricInterpreterYCbCr;
 import org.apache.commons.imaging.formats.tiff.write.TiffImageWriterLossy;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Implements methods for reading and writing TIFF files. Instances of this 
class are invoked from the general Imaging class. Applications that require the 
use
@@ -123,10 +124,10 @@ public class TiffImageParser extends 
AbstractImageParser<TiffImagingParameters>
                     return false;
                 }
 
-                imageData.toString(pw, "");
+                imageData.toString(pw, StringUtils.EMPTY);
             }
 
-            pw.println("");
+            pw.println();
 
             // try
             {
@@ -149,7 +150,7 @@ public class TiffImageParser extends 
AbstractImageParser<TiffImagingParameters>
                     }
                 }
 
-                pw.println("");
+                pw.println();
             }
             // catch (Exception e)
             // {
@@ -160,7 +161,7 @@ public class TiffImageParser extends 
AbstractImageParser<TiffImagingParameters>
 
             return true;
         } finally {
-            pw.println("");
+            pw.println();
         }
     }
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeAscii.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeAscii.java
index 632fdfc0..244f0ae7 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeAscii.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeAscii.java
@@ -23,6 +23,7 @@ import java.util.Arrays;
 import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.common.Allocator;
 import org.apache.commons.imaging.formats.tiff.TiffField;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * TIFF field type for ASCII strings.
@@ -52,7 +53,7 @@ public class FieldTypeAscii extends AbstractFieldType {
         }
         final String[] strings = Allocator.array(nullCount, String[]::new, 24);
         int stringsAdded = 0;
-        strings[0] = ""; // if we have a 0 length string
+        strings[0] = StringUtils.EMPTY; // if we have a 0 length string
         int nextStringPos = 0;
         // According to the Exiftool FAQ, [BROKEN URL] 
http://www.metadataworkinggroup.org
         // specifies that the TIFF ASCII fields are actually UTF-8.
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAscii.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAscii.java
index dbe971fa..be324d88 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAscii.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoAscii.java
@@ -23,6 +23,7 @@ import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.common.Allocator;
 import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
 import org.apache.commons.imaging.formats.tiff.fieldtypes.AbstractFieldType;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Tag info for ASCII field type.
@@ -69,7 +70,7 @@ public class TagInfoAscii extends TagInfo {
         }
         final String[] strings = Allocator.array(nullCount + 1, String[]::new, 
24);
         int stringsAdded = 0;
-        strings[0] = ""; // if we have a 0 length string
+        strings[0] = StringUtils.EMPTY; // if we have a 0 length string
         int nextStringPos = 0;
         // According to the Exiftool FAQ, [BROKEN URL] 
http://www.metadataworkinggroup.org
         // specifies that the TIFF ASCII fields are actually UTF-8.
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputField.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputField.java
index a1be7ee5..1f1a919c 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputField.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputField.java
@@ -21,11 +21,13 @@ import static 
org.apache.commons.imaging.formats.tiff.constants.TiffConstants.EN
 import java.io.IOException;
 import java.nio.ByteOrder;
 import java.util.Arrays;
+import java.util.Objects;
 
 import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.common.AbstractBinaryOutputStream;
 import org.apache.commons.imaging.formats.tiff.fieldtypes.AbstractFieldType;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Represents a TIFF output field.
@@ -188,9 +190,7 @@ public class TiffOutputField {
      * @return The string representation.
      */
     public String toString(String prefix) {
-        if (prefix == null) {
-            prefix = "";
-        }
+        prefix = Objects.toString(prefix, StringUtils.EMPTY);
         final StringBuilder result = new StringBuilder();
 
         result.append(prefix);
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputSet.java
 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputSet.java
index 2573d8e6..6acc5005 100644
--- 
a/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputSet.java
+++ 
b/src/main/java/org/apache/commons/imaging/formats/tiff/write/TiffOutputSet.java
@@ -22,6 +22,7 @@ import java.nio.ByteOrder;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.commons.imaging.ImagingException;
 import org.apache.commons.imaging.common.RationalNumber;
@@ -29,6 +30,7 @@ import 
org.apache.commons.imaging.formats.tiff.constants.GpsTagConstants;
 import 
org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryConstants;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.internal.Debug;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Represents a complete TIFF output set containing multiple directories.
@@ -383,9 +385,7 @@ public final class TiffOutputSet implements 
Iterable<TiffOutputDirectory> {
      * @return The string representation.
      */
     public String toString(String prefix) {
-        if (prefix == null) {
-            prefix = "";
-        }
+        prefix = Objects.toString(prefix, StringUtils.EMPTY);
 
         final StringBuilder result = new StringBuilder(39);
 
diff --git 
a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java 
b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
index 4fc5cf10..feb123f8 100644
--- a/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
+++ b/src/main/java/org/apache/commons/imaging/formats/xpm/XpmImageParser.java
@@ -664,7 +664,7 @@ public class XpmImageParser extends 
AbstractImageParser<XpmImagingParameters> {
             os.write(line.getBytes(StandardCharsets.US_ASCII));
         }
 
-        String separator = "";
+        String separator = StringUtils.EMPTY;
         for (int y = 0; y < src.getHeight(); y++) {
             os.write(separator.getBytes(StandardCharsets.US_ASCII));
             separator = ",\n";
diff --git a/src/main/java/org/apache/commons/imaging/icc/IccProfileInfo.java 
b/src/main/java/org/apache/commons/imaging/icc/IccProfileInfo.java
index ca57bd8a..bb7b3539 100644
--- a/src/main/java/org/apache/commons/imaging/icc/IccProfileInfo.java
+++ b/src/main/java/org/apache/commons/imaging/icc/IccProfileInfo.java
@@ -22,6 +22,7 @@ import java.io.StringWriter;
 import java.util.logging.Logger;
 
 import org.apache.commons.imaging.ImagingException;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Provides information about an ICC color profile.
@@ -169,7 +170,7 @@ public class IccProfileInfo {
     @Override
     public String toString() {
         try {
-            return toString("");
+            return toString(StringUtils.EMPTY);
         } catch (final Exception e) {
             return "IccProfileInfo: Error";
         }
diff --git a/src/main/java/org/apache/commons/imaging/icc/IccTag.java 
b/src/main/java/org/apache/commons/imaging/icc/IccTag.java
index c27adf02..51fc3899 100644
--- a/src/main/java/org/apache/commons/imaging/icc/IccTag.java
+++ b/src/main/java/org/apache/commons/imaging/icc/IccTag.java
@@ -98,7 +98,7 @@ public class IccTag {
 
         }
 
-        pw.println("");
+        pw.println();
         pw.flush();
 
     }
diff --git a/src/main/java/org/apache/commons/imaging/internal/Debug.java 
b/src/main/java/org/apache/commons/imaging/internal/Debug.java
index 1e47ddd1..b04a12d3 100644
--- a/src/main/java/org/apache/commons/imaging/internal/Debug.java
+++ b/src/main/java/org/apache/commons/imaging/internal/Debug.java
@@ -30,6 +30,8 @@ import java.util.Objects;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.apache.commons.lang3.StringUtils;
+
 /**
  * Internal-only debug class. Used for collecting extra information when 
parsing or modifying images or metadata. These methods are useful for 
troubleshooting
  * and issue analysis, but this should not be used directly by end-users, nor 
extended in any way. This may change or be removed at any time.
@@ -290,7 +292,7 @@ public final class Debug {
         final String datetime = timestamp.format(new Date()).toLowerCase();
 
         result.append(NEWLINE);
-        result.append("Throwable: " + (e == null ? "" : "(" + 
e.getClass().getName() + ")") + ":" + datetime + NEWLINE);
+        result.append("Throwable: " + (e == null ? StringUtils.EMPTY : "(" + 
e.getClass().getName() + ")") + ":" + datetime + NEWLINE);
         result.append("Throwable: " + (e == null ? "null" : 
e.getLocalizedMessage()) + NEWLINE);
         result.append(NEWLINE);
 
diff --git a/src/test/java/org/apache/commons/imaging/ImageInfoTest.java 
b/src/test/java/org/apache/commons/imaging/ImageInfoTest.java
index 68f155a5..51f5bb06 100644
--- a/src/test/java/org/apache/commons/imaging/ImageInfoTest.java
+++ b/src/test/java/org/apache/commons/imaging/ImageInfoTest.java
@@ -24,6 +24,7 @@ import java.util.List;
 
 import org.apache.commons.imaging.ImageInfo.ColorType;
 import org.apache.commons.imaging.ImageInfo.CompressionAlgorithm;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class ImageInfoTest {
@@ -110,7 +111,7 @@ class ImageInfoTest {
                 + "Color Type: Black and White\n"
                 + "Uses Palette: false\n";
         // @formatter:on
-        final String testString = imageInfo.toString().replaceAll("\\r", "");
+        final String testString = imageInfo.toString().replaceAll("\\r", 
StringUtils.EMPTY);
         assertEquals(expected, testString);
     }
 
@@ -160,7 +161,7 @@ class ImageInfoTest {
                 + "Color Type: Black and White\n"
                 + "Uses Palette: false\n";
         // @formatter:on
-        final String testString = imageInfo.toString().replaceAll("\\r", "");
+        final String testString = imageInfo.toString().replaceAll("\\r", 
StringUtils.EMPTY);
         assertEquals(expected, testString);
     }
 }
diff --git 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ReadAndRenderFloatingPoint.java
 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ReadAndRenderFloatingPoint.java
index 9207a6ea..2c7d49a0 100644
--- 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ReadAndRenderFloatingPoint.java
+++ 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ReadAndRenderFloatingPoint.java
@@ -117,9 +117,9 @@ public class ReadAndRenderFloatingPoint {
 
         System.out.print("Bits per pixel: ");
         for (int i = 0; i < samplesPerPixel; i++) {
-            System.out.format("%s%d", i > 0 ? ", " : "", bitsPerPixel[i]);
+            System.out.format("%s%d", i > 0 ? ", " : StringUtils.EMPTY, 
bitsPerPixel[i]);
         }
-        System.out.println("");
+        System.out.println();
 
         // Create a TIFF Photometric Interpreter to perform a grayscale
         // rendering. A Photometric Interpreter is a class that maps a
diff --git 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java
index 95e3536c..2726ea25 100644
--- 
a/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java
+++ 
b/src/test/java/org/apache/commons/imaging/examples/tiff/ReadTagsAndImages.java
@@ -371,7 +371,7 @@ public class ReadTagsAndImages {
                 
ps.println("\n-----------------------------------------------------\n");
             }
 
-            String contentType = "";
+            String contentType = StringUtils.EMPTY;
             if (directory.hasTiffRasterData()) {
                 contentType = "Numeric raster data";
             } else if (directory.hasTiffImageData()) {
@@ -405,7 +405,7 @@ public class ReadTagsAndImages {
                 final BufferedImage bImage = directory.getTiffImage(params);
                 ImageIO.write(bImage, "JPEG", output);
             }
-            ps.println("");
+            ps.println();
             iDirectory++;
         }
     }
@@ -441,7 +441,7 @@ public class ReadTagsAndImages {
             // The TIFF directory does not contain GeoTIFF information
             return;
         }
-        ps.println("");
+        ps.println();
         ps.println("Summary of GeoTIFF Elements ----------------------------");
 
         final short[] bitsPerSample = 
directory.getFieldValue(TiffTagConstants.TIFF_TAG_BITS_PER_SAMPLE, false);
@@ -501,7 +501,7 @@ public class ReadTagsAndImages {
             final int ref = elements[k + 1];
             final int len = elements[k + 2];
             final int vop = elements[k + 3];
-            String label = "";
+            String label = StringUtils.EMPTY;
             if (ref == GeoTiffTagConstants.EXIF_TAG_GEO_ASCII_PARAMS_TAG.tag) {
                 label = "(A)";
             } else if (ref == 
GeoTiffTagConstants.EXIF_TAG_GEO_DOUBLE_PARAMS_TAG.tag) {
diff --git 
a/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFile.java 
b/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFile.java
index c1d3729e..1076907e 100644
--- a/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFile.java
+++ b/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFile.java
@@ -41,6 +41,7 @@ import org.apache.commons.imaging.formats.tiff.TiffReader;
 import org.apache.commons.imaging.formats.tiff.constants.TiffEpTagConstants;
 import 
org.apache.commons.imaging.formats.tiff.constants.TiffPlanarConfiguration;
 import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
+import org.apache.commons.lang3.StringUtils;
 
 /**
  * Provides methods to collect data for a tiff file. This class is intended 
for use with SurveyTiffFolder, though it could be integrated into other
@@ -67,7 +68,7 @@ public class SurveyTiffFile {
         final int k0 = (n - 4) / 2;
         final int k1 = n - 4 - k0;
 
-        final String header = String.format("%" + k0 + "sPath%" + k1 + "s%s", 
"", "",
+        final String header = String.format("%" + k0 + "sPath%" + k1 + "s%s", 
StringUtils.EMPTY, StringUtils.EMPTY,
                 "    Size     Layout  Blk_sz     P_conf  Compress  Predict  
Data_Fmt   B/P B/S      Photo     ICC_Pro");
         if (csv) {
             return reformatHeaderForCsv(header);
@@ -205,7 +206,7 @@ public class SurveyTiffFile {
         if (sSampleFmt == null || sSampleFmt.length == 0) {
             return "Unknown";
         }
-        String heterogeneous = "";
+        String heterogeneous = StringUtils.EMPTY;
         for (int i = 1; i < sSampleFmt.length; i++) {
             if (sSampleFmt[i] != sSampleFmt[0]) {
                 heterogeneous = "*";
@@ -247,10 +248,10 @@ public class SurveyTiffFile {
         ps.println("  B/S       Bits per sample");
         ps.println("  Photo     Photometric Interpretation (pixel color 
type)");
         ps.println("  ICC_Pro   Is ICC color profile supplied");
-        ps.println("");
+        ps.println();
         ps.println("  RGBA       RGB with unassociated alpha (transparency)");
         ps.println("  RGBA_Pre-A RGB with associated (premultiplied) alpha");
-        ps.println("");
+        ps.println();
     }
 
     /**
diff --git 
a/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFolder.java 
b/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFolder.java
index 28da837d..c1c80369 100644
--- 
a/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFolder.java
+++ 
b/src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFolder.java
@@ -166,7 +166,7 @@ public class SurveyTiffFolder {
                 surveyFiles(topLevelDir, pathList, maxLen, csv, ps);
             } catch (final IOException ioex) {
                 System.err.println("IOException writing report to " + args[1]);
-                System.err.println("" + ioex.getMessage());
+                System.err.println(ioex.getMessage());
             }
         }
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
index 8bd635fc..fac47e04 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffFloatingPointMultivariableTest.java
@@ -36,6 +36,7 @@ import 
org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
 import org.apache.commons.imaging.formats.tiff.write.TiffImageWriterLossy;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.io.TempDir;
 
@@ -245,7 +246,7 @@ class TiffFloatingPointMultivariableTest extends 
AbstractTiffTest {
             final TiffPlanarConfiguration planarConfiguration) throws 
IOException, ImagingException {
 
         final String name = String.format("FpMultiVarRoundTrip_%s_%s%s.tiff", 
planarConfiguration == TiffPlanarConfiguration.CHUNKY ? "Chunky" : "Planar",
-                useTiles ? "Tiles" : "Strips", usePredictorForTiles ? 
"_Predictor" : "");
+                useTiles ? "Tiles" : "Strips", usePredictorForTiles ? 
"_Predictor" : StringUtils.EMPTY);
         final File outputFile = new File(tempDir.toFile(), name);
 
         final int bytesPerSample = 4 * samplesPerPixel;
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadImageInfoTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadImageInfoTest.java
index 1d065f0a..46d1b768 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadImageInfoTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadImageInfoTest.java
@@ -23,6 +23,7 @@ import java.io.File;
 import org.apache.commons.imaging.ImageInfo;
 import org.apache.commons.imaging.Imaging;
 import org.apache.commons.imaging.ImagingTestConstants;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -56,15 +57,15 @@ class TiffReadImageInfoTest extends AbstractTiffTest {
         final String s = info.toString();
         final int i = s.indexOf(target);
         if (i < 0) {
-            return "";
+            return StringUtils.EMPTY;
         }
         final int j = s.indexOf(':', i);
         if (j < 0) {
-            return "";
+            return StringUtils.EMPTY;
         }
         final int k = s.indexOf('\n', j);
         if (k < j) {
-            return "";
+            return StringUtils.EMPTY;
         }
         return s.substring(j + 1, k).trim();
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
index 8f613833..0f029cb9 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/TiffReadWriteTagsTest.java
@@ -33,6 +33,7 @@ import 
org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants;
 import org.apache.commons.imaging.formats.tiff.write.TiffImageWriterLossy;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputDirectory;
 import org.apache.commons.imaging.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class TiffReadWriteTagsTest extends AbstractTiffTest {
@@ -73,7 +74,7 @@ class TiffReadWriteTagsTest extends AbstractTiffTest {
         writer.write(tiff, set);
 
         final TiffReader reader = new TiffReader(true);
-        final FormatCompliance formatCompliance = new FormatCompliance("");
+        final FormatCompliance formatCompliance = new 
FormatCompliance(StringUtils.EMPTY);
         final TiffContents contents = 
reader.readDirectories(ByteSource.array(tiff.toByteArray()), true, 
formatCompliance);
         final TiffDirectory rootDir = contents.directories.get(0);
         assertEquals(description, 
rootDir.getSingleFieldValue(TiffTagConstants.TIFF_TAG_IMAGE_DESCRIPTION));
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeShortTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeShortTest.java
index 8dad54b4..74ee563e 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeShortTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/fieldtypes/FieldTypeShortTest.java
@@ -21,17 +21,18 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.nio.ByteOrder;
 
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class FieldTypeShortTest {
 
     @Test
     void testCreatesFieldTypeShortAndCallsWriteData() {
-        final FieldTypeShort fieldTypeShort = new FieldTypeShort(1234, "");
+        final FieldTypeShort fieldTypeShort = new FieldTypeShort(1234, 
StringUtils.EMPTY);
         final ByteOrder byteOrder = ByteOrder.LITTLE_ENDIAN;
 
         try {
-            fieldTypeShort.writeData("", byteOrder);
+            fieldTypeShort.writeData(StringUtils.EMPTY, byteOrder);
             fail("Expecting exception: Exception");
         } catch (final Exception e) {
             assertEquals("Invalid data:  (java.lang.String)", e.getMessage());
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTreeExceptionTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTreeExceptionTest.java
index 43697033..842994f6 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTreeExceptionTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/itu_t4/HuffmanTreeExceptionTest.java
@@ -19,14 +19,15 @@ package org.apache.commons.imaging.formats.tiff.itu_t4;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
 import org.apache.commons.imaging.ImagingException;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class HuffmanTreeExceptionTest {
 
     @Test
     void testCreatesHuffmanTreeExceptionTakingString() {
-        final ImagingException huffmanTreeException = new ImagingException("");
-        final ImagingException huffmanTreeExceptionTwo = new 
ImagingException("", huffmanTreeException);
+        final ImagingException huffmanTreeException = new 
ImagingException(StringUtils.EMPTY);
+        final ImagingException huffmanTreeExceptionTwo = new 
ImagingException(StringUtils.EMPTY, huffmanTreeException);
 
         assertNotEquals(huffmanTreeExceptionTwo, huffmanTreeException);
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoByteTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoByteTest.java
index adc2a48d..744f7e42 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoByteTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoByteTest.java
@@ -19,6 +19,7 @@ package org.apache.commons.imaging.formats.tiff.taginfos;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 
 import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class TagInfoByteTest {
@@ -26,7 +27,7 @@ class TagInfoByteTest {
     @Test
     void testCreatesTagInfoByteTakingFourArgumentsAndCallsEncodeValue() {
         final TiffDirectoryType tiffDirectoryType = 
TiffDirectoryType.TIFF_DIRECTORY_IFD0;
-        final TagInfoByte tagInfoByte = new TagInfoByte("", 347, 
tiffDirectoryType);
+        final TagInfoByte tagInfoByte = new TagInfoByte(StringUtils.EMPTY, 
347, tiffDirectoryType);
 
         assertArrayEquals(new byte[] { (byte) 0 }, 
tagInfoByte.encodeValue(null, (byte) 0));
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSByteTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSByteTest.java
index dfa41d10..055e5b37 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSByteTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSByteTest.java
@@ -21,6 +21,7 @@ import static 
org.junit.jupiter.api.Assertions.assertArrayEquals;
 import java.nio.ByteOrder;
 
 import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class TagInfoSByteTest {
@@ -28,7 +29,7 @@ class TagInfoSByteTest {
     @Test
     void testCreatesTagInfoSByteAndCallsEncodeValue() {
         final TiffDirectoryType tiffDirectoryType = 
TiffDirectoryType.EXIF_DIRECTORY_GPS;
-        final TagInfoSByte tagInfoSByte = new TagInfoSByte("", 0, 
tiffDirectoryType);
+        final TagInfoSByte tagInfoSByte = new TagInfoSByte(StringUtils.EMPTY, 
0, tiffDirectoryType);
         final ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
         final byte[] byteArray = tagInfoSByte.encodeValue(byteOrder, (byte) 6);
 
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSBytesTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSBytesTest.java
index 6251d056..a42e58ae 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSBytesTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSBytesTest.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
 import java.nio.ByteOrder;
 
 import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class TagInfoSBytesTest {
@@ -28,7 +29,7 @@ class TagInfoSBytesTest {
     @Test
     void testCreatesTagInfoSBytesAndCallsEncodeValue() {
         final TiffDirectoryType tiffDirectoryType = 
TiffDirectoryType.TIFF_DIRECTORY_IFD3;
-        final TagInfoSBytes tagInfoSBytes = new TagInfoSBytes("", -198, 10, 
tiffDirectoryType);
+        final TagInfoSBytes tagInfoSBytes = new 
TagInfoSBytes(StringUtils.EMPTY, -198, 10, tiffDirectoryType);
         final ByteOrder byteOrder = ByteOrder.LITTLE_ENDIAN;
         final byte[] byteArray = new byte[2];
         final byte[] byteArrayTwo = tagInfoSBytes.encodeValue(byteOrder, 
byteArray);
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSShortsTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSShortsTest.java
index c67de40d..4b9ed9ca 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSShortsTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoSShortsTest.java
@@ -21,6 +21,7 @@ import static 
org.junit.jupiter.api.Assertions.assertArrayEquals;
 import java.nio.ByteOrder;
 
 import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class TagInfoSShortsTest {
@@ -28,7 +29,7 @@ class TagInfoSShortsTest {
     @Test
     void testEncodeValue() {
         final TiffDirectoryType tiffDirectoryType = 
TiffDirectoryType.TIFF_DIRECTORY_IFD0;
-        final TagInfoSShorts tagInfoSShorts = new TagInfoSShorts("", 2269, 
2269, tiffDirectoryType);
+        final TagInfoSShorts tagInfoSShorts = new 
TagInfoSShorts(StringUtils.EMPTY, 2269, 2269, tiffDirectoryType);
         final ByteOrder byteOrder = ByteOrder.nativeOrder();
         final short[] shortArray = new short[2];
 
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUnknownTest.java
 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUnknownTest.java
index 95731c47..bdb8f221 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUnknownTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/tiff/taginfos/TagInfoUnknownTest.java
@@ -19,6 +19,7 @@ package org.apache.commons.imaging.formats.tiff.taginfos;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryType;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 class TagInfoUnknownTest {
@@ -26,7 +27,7 @@ class TagInfoUnknownTest {
     @Test
     void testCreatesTagInfoUnknown() {
         final TiffDirectoryType tiffDirectoryType = 
TiffDirectoryType.EXIF_DIRECTORY_EXIF_IFD;
-        new TagInfoUnknown("", 2670, tiffDirectoryType);
+        new TagInfoUnknown(StringUtils.EMPTY, 2670, tiffDirectoryType);
 
         assertEquals(-1, TagInfo.LENGTH_UNKNOWN);
     }
diff --git 
a/src/test/java/org/apache/commons/imaging/formats/webp/WebPMetadataTest.java 
b/src/test/java/org/apache/commons/imaging/formats/webp/WebPMetadataTest.java
index 4ccede3b..745ad9ad 100644
--- 
a/src/test/java/org/apache/commons/imaging/formats/webp/WebPMetadataTest.java
+++ 
b/src/test/java/org/apache/commons/imaging/formats/webp/WebPMetadataTest.java
@@ -27,6 +27,7 @@ import org.apache.commons.imaging.bytesource.ByteSource;
 import org.apache.commons.imaging.formats.tiff.TiffImageMetadata;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfo;
 import org.apache.commons.imaging.formats.tiff.taginfos.TagInfoAscii;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -59,7 +60,7 @@ class WebPMetadataTest extends AbstractWebPTest {
         assertNotNull(tiffImageMetadata);
 
         // Finds by the tag number.
-        final TagInfo make = new TagInfoAscii("", 271, 0, null);
+        final TagInfo make = new TagInfoAscii(StringUtils.EMPTY, 271, 0, null);
         final Object field = tiffImageMetadata.getFieldValue(make);
         assertEquals("sony", field.toString().trim().toLowerCase());
     }

Reply via email to