Interface for reading variable length files with header and footer.

Posted by John S on Stack Overflow See other posts from Stack Overflow or by John S
Published on 2010-03-31T16:40:49Z Indexed on 2010/03/31 16:43 UTC
Read the original article Hit count: 313

Filed under:
|
|

I could use some hints or tips for a decent interface for reading file of special characteristics.

The files in question has a header (~120 bytes), a body (1 byte - 3gb) and a footer (4 bytes).

The header contains information about the body and the footer is only a simple CRC32-value of the body.

I use Java so my idea was to extend the "InputStream" class and add a constructor such as "public MyInStream( InputStream in)" where I immediately read the header and the direct the overridden read()'s the body.

Problem is, I can't give the user of the class the CRC32-value until the whole body has been read.

Because the file can be 3gb large, putting it all in memory is a be an idea.

Reading it all in to a temporary file is going to be a performance hit if there are many small files.

I don't know how large the file is because the InputStream doesn't have to be a file, it could be a socket.

Looking at it again, maybe extending InputStream is a bad idea.

Thank you for reading the confused thoughts of a tired programmer. :)

© Stack Overflow or respective owner

Related posts about java

Related posts about file