Насколько я понимаю, имя ZipEntry является частью «name» пары «имя-значение», data - частью «value», и - вот этот странный бит - «extra» поле ZipEntry содержит MIME тип, который объясняет, как данные должны быть интерпретированы, например как байтовый массив, как строковые данные, или как URL, указывающий на «реальные» данные. Действительно гениально.
Мы склонны считать, что zip-файл содержит только имена и содержимое файла, но на самом деле каждая запись в zip-файле содержит или может содержать довольно много метаданных; имя, «дополнительные» данные, комментарий, CRC, используемый метод сжатия и т. д. Java.util.zip.ZipEntry позволяет установить все эти поля, поэтому создание таких файлов в Java не составляет проблем, даже если никто из нас никогда не видел такого зверя раньше.