getNextEntry() positions your stream at the beginning of the next entry within the zip. Just read the first stream from there -- why are you trying to create yet another stream when you already have one?