public final String readUTF() throws IOException {
        return DataInputStream.readUTF(this);
    }
Reads in a string from this stream. The string has been encoded
using a modified UTF-8 format.
<p>
The first two bytes are read, starting from the current stream
pointer, as if by
<code>readUnsignedShort</code>. This value gives the number of
following bytes that are in the encoded string, not
the length of the resulting string. The following bytes are then
interpreted as bytes encoding characters in the UTF-8 format
and are converted into characters.
<p>
This method blocks until all the bytes are read, the end of the
stream is detected, or an exception is thrown.

@return     a Unicode string.
@exception  EOFException            if this stream reaches the end before
              reading all the bytes.
@exception  IOException             if an I/O error occurs.
@exception  UTFDataFormatException  if the bytes do not represent
              valid UTF-8 encoding of a Unicode string.
plugins/svg-plugin/batik-codec-fix/src/main/java/org/apache/batik/ext/awt/image/codec/util/SeekableStream.java