java - GZIPInputStream is prematurely closed when reading from s3 -


new bufferedreader(new inputstreamreader(        new gzipinputstream(s3service.getobject(bucket, objectkey).getdatainputstream()))) 

creates reader returns null readline() after ~100 lines if file greater several mb. not reproducible on gzip files less 1 mb. knows how handle this?

from documentation of bufferedreader#readline():

returns:

a string containing contents of line, not including line-termination characters, or null if end of stream has been reached

i pretty clear means: end of file/stream has been encountered - no more data available.

notable quirks gzip format: multiple files can appended one-another create larger file multiple gzipped objects. seems gzipinputstream reads first of those.

that explains why working "small files". contain 1 zipped object, whole file read.

note: if gzipinputstream determines undestructively 1 gzip-file over, open gzipinputstream on same inputstream , read multiple objects.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -