code: public static File writeZipStreamToTempDir(InputStream inputStream) throws IOException
     {
        File dir = FileHelper.createTempDir();
  
        try
        {
           processZipStream(dir, inputStream);
        }
  
        catch (ZipException ex)
        {
           // Java doesn't support zip files with zero byte entries.
           // We could use a different library which does handle these zip files, but
           // I'm reluctant to add new dependencies just for this. Rather than
           // propagating the error, we'll just stop at this point and see if we
           // can make sense of anything we have extracted from the zip file so far.
           // For what it's worth I haven't come across a valid compressed schedule file
           // which includes zero bytes files.
           if (!ex.getMessage().equals("only DEFLATED entries can have EXT descriptor"))
           {
              throw ex;
           }
        }
  
        return dir;
     }
docs: Expands a zip file input stream into a temporary directory.
  
  @param inputStream zip file input stream
  @return File instance representing the temporary directory