Re: Read and display large files from server
dcm wrote On 04/25/07 14:56,:
I have to read huge (GB) delimited files from a server and
display them in JTable. We will be using Java web start to invoke the
application so I do not want to cache locally on the client machine.
Is there a better way to cache the file in bits and display them in
the JTable and read the files from the server as and when more info is
needed. I should also be able to browse back and forth.
That'll be an *enormous* JTable, probably much too
large for a human to comprehend. Let's see: If your
"delimited file" uses ten characters per cell and you've
got ten columns per row, the table will have about ten
million rows, give or take a few multiples of Finagle's
Variable Constant[*]. Nobody is going to learn much by
scrolling around in a table of that size.
By "caching in bits" I guess you mean to store pixel
images of the cells, maybe a row at a time or something.
If each cell is fifty by twenty pixels and you limit them
to four colors you'll need 200 bits = 8 bytes each, which
is only about a 20% savings (I'm assuming the ten "source"
characters can be encoded as one byte per character).
Compression might help, but compression mixes poorly with
random access; you'd probably want to divide the table into
"pages" and compress each page separately, then stitch the
pieces together as needed at the client side.
... but this still doesn't solve the basic problem of
the enormous size of the JTable; I have a hard time imagining
how a human being could make effective use of such a thing.
What sort of information is in this table, and might there
be better ways to let the user explore it than just giving
him or her ten million rows and a scroll bar?
--
Eric.Sosman@sun.com