[jdom-interest] How many bytes is my JDOM Document

Jason Winnebeck gillius-ml at gillius.org
Thu Aug 3 06:30:05 PDT 2006

Hmm, if there is not a much better solution, perhaps what you can do is write 
it to a memory buffer (ByteOutputStream I believe it is) and find the size of 
that memory buffer.  That would still require a run through all of the 
serialization code, but then you at least wouldn't be hitting the disk.

If the memory use is a concern you could even write your own implementation of 
OutputStream which does not actually output the bytes anywhere, but instead 
just increments a counter.  Writing such a class would only take a few minutes 
in an IDE that does automatic inheritance like IDEA, or maybe 15 minutes by 
hand.  That class would increase the speed to the maximum as well as not using 
any memory.

I think ultimately any solution will require this, because the number of bytes 
is dependent on the character encoding of the document -- which may not be 
constant in the case of UTF, and also the "pretty" formatter can insert spaces 
and tabs or whatever it wants in places, so you basically would need to go 
through the whole process of serialization.


Søren Faltz wrote:
> I want to find out how many bytes my document is.
> An easy way would be to stream the document to disk, and then call 
> File.size()
> but is there any way to find out without saving the document to disk first??
> best regards
> søren
> ------------------------------------------------------------------------
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com

More information about the jdom-interest mailing list