code: static String [] searchArchiveForClasses( URL url ) throws IOException {
          List<String> list = new ArrayList<>();
          ZipInputStream zip = new ZipInputStream(url.openStream());
  
          ZipEntry ze;
          while( zip.available() == 1 )
              if ( (ze = zip.getNextEntry()) != null
                      && isClassFileName( ze.getName() ) )
                  list.add( canonicalizeClassName( ze.getName() ) );
          zip.close();
  
          return list.toArray( new String[list.size()] );
      }
docs: Search Archive for classes.
  @param the archive file location
  @return array of class names found
  @throws IOException