Re: Announcement: SAX Java Implementation (pre-release)

James Clark (jjc@jclark.com)
Mon, 13 Apr 1998 09:38:22 +0100


Tyler Baker wrote:

> Most poeple already know that the I/O implementation of the JDK is not too great
> as it is, for example every time you read a single character from the Reader
> class, it instantiates a new Array object as an argument necessary for delegating
> to another read method.

It's optimized for reading multiple characters. Using the single
character read would be a total loss however it's implemented because of
synchronization overhead. I don't think there's much wrong with the
Reader class itself. InputStreamReader, however, leaves something to be
desired because it doesn't allow users to supply their own
character-to-byte conversion routines. But if you have an InputStream
you should be using the interface to the parser that takes an
InputStream. In any case it's not practical to use an InputStreamReader
for XML because that won't deal with XML's rules for detecting
encodings.

James