code: public static File unzipUniqueFile(File inFile) throws IOException {
          File outFile = File.createTempFile(inFile.getName(), "tmp");
          try {
              BufferedOutputStream out = null;
              ZipInputStream in = new ZipInputStream(new BufferedInputStream(
                      new FileInputStream(inFile)));
              in.getNextEntry();
              int count;
              byte data[] = new byte[1024];
              out = new BufferedOutputStream(new FileOutputStream(outFile), 1024);
              while ((count = in.read(data, 0, 1024)) != -1) {
                  out.write(data, 0, count);
              }
              out.flush();
              out.close();
              in.close();
  
          } catch (Exception e) {
              e.printStackTrace();
          }
          return outFile;
      }
docs: It's better NOT TO USE THIS METHOD, since it creates a temporary file.
  Use {@link IOUtils#unzipUniqueFileAsStream()} instead
  
  @param inFile
  a zip file containing a unique file
  @return the unique file through a temporary file