Sun/Oracle Java has a longstanding, silly, but horrific bug (yes, not
just one, but that's another story).
The bug I'm talking about is
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4813885 and in
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4255743 -- 2 reports,
but really just one bug.
The issue here is that a real flush() is really necessary for a lot of
use cases, but applying the workaround noted:
def.setInput(EMPTYBYTEARRAY, 0, 0);
def.setLevel(Deflater.NO_COMPRESSION);
deflate();
def.setLevel(Deflater.DEFAULT_COMPRESSION);
deflate();
out.flush();
does not actually work in all cases. If this is done after all bytes
have been sent to the stream (even before finish() is called), in very
rare cases an extra null byte will appear in the (uncompressed) output.
Does anyone have a solution for this (without resorting to a 3rd-party
library)?
--
Jess Holle
--
You received this message because you are subscribed to the Google Groups "The Java
Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/javaposse?hl=en.